package com.github.jreddit.parser.entity; import static org.junit.Assert.assertEquals; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.junit.Test; import com.github.jreddit.parser.entity.Kind; import com.github.jreddit.parser.entity.Subreddit; import com.github.jreddit.testutil.JsonHelpers; public class SubredditTest { @SuppressWarnings("unchecked") @Test public void testAllSubredditFields() { // Field values String submit_text_html = null; Boolean user_is_banned = null; String id = "SubredditID"; String kind = Kind.SUBREDDIT.value(); String submit_text = "submit text for subreddit"; String display_name = "subredditDisplayName"; String header_img = "http://a.thumbs.redditmedia.com/yyL5sveWcgkCPKbr.png"; String description_html = "<div>HTML description for subreddit</d>"; String title = "SubredditTitle"; Boolean over18 = false; Boolean user_is_moderator = null; String header_title = "Header title for subreddit"; String description = "Description for subreddit"; String submit_link_label = "Submit link label"; String accounts_active = null; Boolean public_traffic = true; JSONArray header_size = JsonHelpers.jsonArrayOf(160, 64); long subscribers = 289252; String submit_text_label = "Submit text label"; String name = kind + "_" + id; double created = 1201242956.0; String url = "/r/" + display_name; double created_utc = 1201242956.0; Boolean user_is_contributor = null; String public_description = "Public description of subreddit"; long comment_score_hide_mins = 0; String subreddit_type = "public"; String submission_type = "any"; Boolean user_is_subscriber = null; // Create JSON Object JSONObject data = new JSONObject(); data.put("submit_text_html", submit_text_html); data.put("user_is_banned", user_is_banned); data.put("id", id); data.put("submit_text", submit_text); data.put("display_name", display_name); data.put("header_img", header_img); data.put("description_html", description_html); data.put("title", title); data.put("over18", over18); data.put("user_is_moderator", user_is_moderator); data.put("header_title", header_title); data.put("description", description); data.put("submit_link_label", submit_link_label); data.put("accounts_active", accounts_active); data.put("public_traffic", public_traffic); data.put("header_size", header_size); data.put("subscribers", subscribers); data.put("submit_text_label", submit_text_label); data.put("name", name); data.put("created", created); data.put("url", url); data.put("created_utc", created_utc); data.put("user_is_contributor", user_is_contributor); data.put("public_description", public_description); data.put("comment_score_hide_mins", comment_score_hide_mins); data.put("subreddit_type", subreddit_type); data.put("submission_type", submission_type); data.put("user_is_subscriber", user_is_subscriber); // Parse Subreddit s = new Subreddit(data); // Test data fields assertEquals(s.getDisplayName(), display_name); assertEquals(s.getTitle(), title); assertEquals(s.getURL(), url); assertEquals(s.getCreated(), created, 0); assertEquals(s.getCreatedUTC(), created_utc, 0); assertEquals(s.isNSFW(), over18); assertEquals(s.getSubscribers(), subscribers); assertEquals(s.getDescription(), description); assertEquals(s.getSubredditType(), subreddit_type); // Possible tests to activate: // assertEquals(s.getSubmitTextHTML(), submit_text_html); // assertEquals(s.isUserBanned(), user_is_banned); // assertEquals(s.getSubmitText(), submit_text); // assertEquals(s.getHeaderIMG(), header_img); // assertEquals(s.getDescriptionHTML(), description_html); // assertEquals(s.isUserModerator(), user_is_moderator); // assertEquals(s.getHeaderTitle(), header_title); // assertEquals(s.getSubmitLinkLabel(), submit_link_label); // assertEquals(s.getAccountsActive(), accounts_active); // assertEquals(s.getPublicTraffic(), public_traffic); // assertEquals(s.getHeaderSize(), header_size); // assertEquals(s.getSubmitTextLabel(), submit_text_label); // assertEquals(s.isUserContributor(), user_is_contributor); // assertEquals(s.getPublicDescription(), public_description); // assertEquals(s.getCommentScoreHideMins(), comment_score_hide_mins, 0); // assertEquals(s.getSubmissionType(), submission_type); // assertEquals(s.isUserSubscriber(), user_is_subscriber); } }