diff options
author | Peter Wu <peter@lekensteyn.nl> | 2014-05-09 10:21:09 +0200 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2014-05-09 10:21:09 +0200 |
commit | 9f29e6f164c83eb00b434467bd2c4257ec827c36 (patch) | |
tree | 4739b2ce398f1c43411ea7afec4f95314bd9a9d6 /test/data/ValidatingJsonDeserializerTest.java | |
parent | a197179a1b78850e1273943611487b331b546af4 (diff) | |
download | Datafiller-9f29e6f164c83eb00b434467bd2c4257ec827c36.tar.gz |
Add missing annotation for retweeted_status, more tests
Diffstat (limited to 'test/data/ValidatingJsonDeserializerTest.java')
-rw-r--r-- | test/data/ValidatingJsonDeserializerTest.java | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/test/data/ValidatingJsonDeserializerTest.java b/test/data/ValidatingJsonDeserializerTest.java index ef19cd3..19ec2f4 100644 --- a/test/data/ValidatingJsonDeserializerTest.java +++ b/test/data/ValidatingJsonDeserializerTest.java @@ -391,6 +391,14 @@ public class ValidatingJsonDeserializerTest { checkTweetFail(tweet, "Missing field: " + prop); } + private void checkImpairedUser(String... names) { + JsonObject user = buildMinimalUser(); + removeProperty(user, names); + JsonObject tweet = buildMinimalTweet(user); + String prop = names[names.length - 1]; + checkTweetFail(tweet, "Missing field: " + prop); + } + private void checkTweetFail(JsonObject tweet, String exp) { Gson gson = new Gson(); System.out.println("Checking for failure: " + exp); @@ -419,7 +427,16 @@ public class ValidatingJsonDeserializerTest { @Test public void testTweet() { + checkImpairedTweet("id"); + checkImpairedTweet("lang"); + checkImpairedTweet("in_reply_to_user_id"); + checkImpairedTweet("created_at"); + checkImpairedTweet("favorite_count"); + checkImpairedTweet("place"); + checkImpairedTweet("coordinates"); checkImpairedTweet("text"); + checkImpairedTweet("retweet_count"); + checkImpairedTweet("user"); } @Test @@ -430,9 +447,45 @@ public class ValidatingJsonDeserializerTest { } @Test + public void testUser() { + checkImpairedUser("id"); + checkImpairedUser("name"); + checkImpairedUser("time_zone"); + checkImpairedUser("statuses_count"); + checkImpairedUser("followers_count"); + checkImpairedUser("friends_count"); + checkImpairedUser("location"); + checkImpairedUser("screen_name"); + checkImpairedUser("created_at"); + checkImpairedUser("lang"); + } + + @Test public void testUserEntities() { checkImpairedTweet("user", "entities"); checkImpairedTweet("user", "entities", "url"); checkImpairedTweet("user", "entities", "url", "urls"); } + + @Test + public void testRetweetedStatus() { + JsonObject tweet = buildMinimalTweet(buildMinimalUser()); + JsonObject rtUser = buildMinimalUser(); + String screen_name = "Somebody"; + rtUser.addProperty("screen_name", screen_name); + JsonObject retweet = buildMinimalTweet(rtUser); + tweet.add("retweeted_status", retweet); + Tweet parsedTweet = checkTweetPass(tweet); + assertNotNull(parsedTweet.retweeted_status); + assertEquals(screen_name, parsedTweet.retweeted_status.user.screen_name); + } + + @Test + public void testRetweetedMissingText() { + JsonObject tweet = buildMinimalTweet(buildMinimalUser()); + JsonObject retweet = buildMinimalTweet(buildMinimalUser()); + removeProperty(retweet, "text"); + tweet.add("retweeted_status", retweet); + checkTweetFail(tweet, "Missing field: text"); + } } |