package com.github.jreddit.parser.entity; import org.json.simple.JSONObject; import org.junit.Test; import com.github.jreddit.parser.entity.Comment; import static org.junit.Assert.assertEquals; public class CommentTest { @SuppressWarnings("unchecked") @Test public void testAllCommentFields() { // Field values String subreddit_id = "SubrID"; String banned_by = null; String subreddit = "SubredditName"; String likes = null; String replies = ""; boolean saved = false; String id = "CommID"; String kind = "t1"; long gilded = 0; String author = "author"; String parent_id = "ParID"; long score = 2; String approved_by = null; long controversiality = 0; String body = "comment body"; boolean edited = false; String author_flair_css_class = null; long downs = 0; String body_html = "<div>" + body + "</div>"; String link_id = "LinkIdentifier"; boolean score_hidden = false; String name = kind + "_" + id; double created = 1404969798.0; String author_flair_text = null; double created_utc = 1404940998.0; long ups = 2; String num_reports = null; String distinguished = null; // Create JSON Object JSONObject data = new JSONObject(); data.put("subreddit_id", subreddit_id); data.put("banned_by", banned_by); data.put("subreddit", subreddit); data.put("likes", likes); data.put("replies", replies); data.put("saved", saved); data.put("id", id); data.put("gilded", gilded); data.put("author", author); data.put("parent_id", parent_id); data.put("score", score); data.put("approved_by", approved_by); data.put("controversiality", controversiality); data.put("body", body); data.put("edited", edited); data.put("author_flair_css_class", author_flair_css_class); data.put("downs", downs); data.put("body_html", body_html); data.put("link_id", link_id); data.put("score_hidden", score_hidden); data.put("name", name); data.put("created", created); data.put("author_flair_text", author_flair_text); data.put("created_utc", created_utc); data.put("ups", ups); data.put("num_reports", num_reports); data.put("distinguished", distinguished); // Parse Comment c = new Comment(data); // Test data fields assertEquals(c.getFullName(), name); assertEquals(c.getAuthor(), author); assertEquals(c.getBody(), body); assertEquals(c.getCreated(), created, 0); assertEquals(c.getCreatedUTC(), created_utc, 0); assertEquals(c.getDownvotes(), downs, 0); assertEquals(c.getEdited(), edited); assertEquals(c.getGilded(), gilded, 0); assertEquals(c.getIdentifier(), id); // assertEquals(c.getKind(), kind); assertEquals(c.getParentId(), parent_id); assertEquals(c.getScore(), score, 0); assertEquals(c.getUpvotes(), ups, 0); assertEquals(c.getSubreddit(), subreddit); assertEquals(c.getSubredditId(), subreddit_id); assertEquals(c.getLinkId(), link_id); assertEquals(c.getBodyHTML(), body_html); assertEquals(c.isScoreHidden(), score_hidden); // Possible tests to activate: // assertEquals(c.getBannedBy(), banned_by); // assertEquals(c.getLikes(), likes); // assertEquals(c.getApprovedBy(), approved_by); // assertEquals(c.getAuthorFlairCSSClass(), author_flair_css_class); // assertEquals(c.getAuthorFlairText(), author_flair_text); // assertEquals(c.getNumReports(), num_reports); // assertEquals(c.getDistinguised(), distinguished); } }