From 9f29e6f164c83eb00b434467bd2c4257ec827c36 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Fri, 9 May 2014 10:21:09 +0200 Subject: Add missing annotation for retweeted_status, more tests --- test/data/ValidatingJsonDeserializerTest.java | 53 +++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'test/data/ValidatingJsonDeserializerTest.java') 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 @@ -429,10 +446,46 @@ public class ValidatingJsonDeserializerTest { checkImpairedTweet("entities", "urls"); } + @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"); + } } -- cgit v1.2.1