import com.google.gson.Gson; import com.instructure.canvasapi.model.DiscussionEntry; import com.instructure.canvasapi.model.DiscussionTopic; import com.instructure.canvasapi.utilities.CanvasRestAdapter; import junit.framework.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.annotation.Config; @Config(sdk = 17) @RunWith(RobolectricGradleTestRunner.class) public class DiscussionEntryUnitTest extends Assert { @Test public void testDiscussionEntry() { Gson gson = CanvasRestAdapter.getGSONParser(); DiscussionTopic longIdTopic = gson.fromJson(longIdJson, DiscussionTopic.class); assertNotNull(longIdTopic); for(DiscussionEntry discussionEntry : longIdTopic.getViews()){ testDiscussionEntryView(discussionEntry); } DiscussionTopic stringIdTopic = gson.fromJson(stringIdJson, DiscussionTopic.class); for(DiscussionEntry discussionEntry : stringIdTopic.getViews()){ testDiscussionEntryView(discussionEntry); } } public static void testDiscussionEntryView(DiscussionEntry discussionEntry){ assertNotNull(discussionEntry); assertTrue(discussionEntry.getId() > 0); if(discussionEntry.getReplies() != null){ for(DiscussionEntry reply : discussionEntry.getReplies()){ testDiscussionEntryView(reply); } } assertTrue(discussionEntry.getUserId() > 0); assertNotNull(discussionEntry.getCreatedAt()); assertNotNull(discussionEntry.getLastUpdated()); } String longIdJson = "{ \"unread_entries\": [], \"forced_entries\": [], \"participants\": [{\"id\":3828648,\"display_name\":\"Drip Derskey\",\"avatar_image_url\":\"https://mobiledev.instructure.com/images/thumbnails/32957548/krblSV5HHvhqqlxUCtvAsR6AkGMI21qsw8i2y1Tx\",\"html_url\":\"https://mobiledev.instructure.com/courses/24219/users/3828648\"}], \"view\": [{\"created_at\":\"2013-05-29T15:50:24Z\",\"id\":5203752,\"parent_id\":null,\"updated_at\":\"2013-05-29T15:50:24Z\",\"user_id\":3828648,\"message\":\"Clojure1!!11!!\"},{\"created_at\":\"2013-05-29T15:51:18Z\",\"id\":5203767,\"parent_id\":null,\"updated_at\":\"2013-05-29T15:51:18Z\",\"user_id\":3828648,\"message\":\"I mean: Clojure is the best programming language.\"}], \"new_entries\": [] }"; String stringIdJson = "{ \"unread_entries\": [], \"forced_entries\": [], \"participants\": [{\"id\":3828648,\"display_name\":\"Drip Derskey\",\"avatar_image_url\":\"https://mobiledev.instructure.com/images/thumbnails/32957548/krblSV5HHvhqqlxUCtvAsR6AkGMI21qsw8i2y1Tx\",\"html_url\":\"https://mobiledev.instructure.com/courses/24219/users/3828648\"}], \"view\": [{\"created_at\":\"2013-05-29T15:50:24Z\",\"id\":\"5203752\",\"parent_id\":null,\"updated_at\":\"2013-05-29T15:50:24Z\",\"user_id\":\"3828648\",\"message\":\"Clojure1!!11!!\"},{\"created_at\":\"2013-05-29T15:51:18Z\",\"id\":\"5203767\",\"parent_id\":null,\"updated_at\":\"2013-05-29T15:51:18Z\",\"user_id\":\"3828648\",\"message\":\"I mean: Clojure is the best programming language.\"}], \"new_entries\": [] }"; }