Skip to content

Commit d2b4f45

Browse files
committed
tests: add more tests
1 parent 2d8c93b commit d2b4f45

File tree

6 files changed

+78
-61
lines changed

6 files changed

+78
-61
lines changed

src/main/java/bugs/stackoverflow/belisarius/utils/FilterUtils.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
public class FilterUtils {
44
public static String pluralise(String word, int count) {
5-
return count > 1 ? word + "s" : word;
5+
return count != 1 ? word + "s" : word;
66
}
77
}

src/test/java/bugs/stackoverflow/belisarius/utils/CheckUtilsTest.java

-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
import static org.junit.jupiter.api.Assertions.assertNull;
66
import static org.junit.jupiter.api.Assertions.assertTrue;
77

8-
import bugs.stackoverflow.belisarius.utils.CheckUtils;
9-
108
import org.junit.jupiter.api.Test;
119

1210
public class CheckUtilsTest {

src/test/java/bugs/stackoverflow/belisarius/utils/CommandUtilsTest.java

-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
package bugs.stackoverflow.belisarius.utils;
22

33
import static org.junit.jupiter.api.Assertions.assertEquals;
4-
import static org.junit.jupiter.api.Assertions.assertFalse;
5-
import static org.junit.jupiter.api.Assertions.assertTrue;
6-
7-
import bugs.stackoverflow.belisarius.utils.CommandUtils;
84

95
import org.junit.jupiter.api.Test;
106

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package bugs.stackoverflow.belisarius.utils;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
public class FilterUtilsTest {
8+
@Test
9+
public void pluraliseTest() {
10+
assertEquals(FilterUtils.pluralise("word", 1), "word");
11+
assertEquals(FilterUtils.pluralise("word", 0), "words");
12+
assertEquals(FilterUtils.pluralise("word", 2), "words");
13+
}
14+
}
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
package bugs.stackoverflow.belisarius.utils;
22

3+
import java.io.IOException;
4+
35
import static org.junit.jupiter.api.Assertions.assertEquals;
46
import static org.junit.jupiter.api.Assertions.assertNull;
5-
import static org.junit.jupiter.api.Assertions.assertNotNull;
6-
7-
import bugs.stackoverflow.belisarius.utils.JsonUtils;
87

98
import org.junit.jupiter.api.Test;
109

1110
public class JsonUtilsTest {
12-
private final String revisionUrl = "https://stackoverflow.com/revisions/db207fcc-5e19-4bca-872c-add2541753e3/view-source";
13-
1411
@Test
1512
public void escapeHtmlEncodingTest() {
1613
assertEquals(JsonUtils.escapeHtmlEncoding("John O'Connor"), "John O'Connor");
@@ -25,8 +22,16 @@ public void sanitizeChatMessageTest() {
2522
}
2623

2724
@Test
28-
public void getHtmlTest() throws Exception {
29-
assertNotNull(JsonUtils.getHtml(revisionUrl));
25+
public void getHtmlTest() throws IOException {
26+
// this revision was chosen because the post is locked and it is short
27+
String markdown = JsonUtils.getHtml(
28+
"https://stackoverflow.com/revisions/272c30b5-e20b-407f-ab1a-a379e312af0d/view-source"
29+
);
30+
assertEquals(
31+
markdown,
32+
"How can I redirect the user from one page to another using jQuery or pure JavaScript?"
33+
);
34+
3035
assertNull(JsonUtils.getHtml("https://stackoverflow.com/revisions/ABCDE/view-source"));
3136
}
3237
}
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package bugs.stackoverflow.belisarius.utils;
22

3-
import java.util.ArrayList;
43
import java.util.HashMap;
54
import java.util.List;
65
import java.util.Map;
76
import java.io.IOException;
7+
import java.util.Arrays;
88

99
import static org.junit.jupiter.api.Assertions.assertEquals;
1010
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -18,12 +18,14 @@
1818
import bugs.stackoverflow.belisarius.services.ApiService;
1919

2020
import org.junit.jupiter.api.Test;
21+
2122
import com.google.gson.JsonObject;
2223
import com.google.gson.JsonParser;
2324

2425
public class PostUtilsTest {
2526
private final ApiService apiService = new ApiService("stackoverflow");
2627
private final Belisarius belisarius = new Belisarius("stackoverflow");
28+
2729
private final JsonObject examplePostObject = JsonParser.parseString("{"
2830
+ "\"owner\": {\"reputation\": 6170, \"user_id\": 4450024, \"display_name\": \"Nuñito de la Calzada\"},"
2931
+ "\"last_editor\": {\"reputation\": 6170, \"user_id\": 4450024, \"display_name\": \"Nuñito de la Calzada\"},"
@@ -44,62 +46,64 @@ public void postBeenEditedTest() {
4446
public void editorAlsoOwnerTest() {
4547
assertTrue(PostUtils.editorAlsoOwner(examplePostObject));
4648
examplePostObject.get("last_editor").getAsJsonObject().addProperty("user_id", 1234);
49+
4750
assertFalse(PostUtils.editorAlsoOwner(examplePostObject));
4851
}
4952

5053
@Test
51-
public void getPostObjectTest() {
52-
try {
53-
JsonObject exampleRevisionObject = apiService.getLatestRevisions("4", 1).get("items").getAsJsonArray().get(0).getAsJsonObject();
54-
Post postObject = PostUtils.getPost(exampleRevisionObject.getAsJsonObject(), "stackoverflow", "test");
55-
postObject.setPreviousRevisionGuid("ABCDE12345");
56-
57-
assertNotNull(postObject);
58-
assertEquals(4, postObject.getPostId());
59-
assertEquals("question", postObject.getPostType());
60-
assertEquals("test", postObject.getTitle());
61-
assertEquals("ABCDE12345", postObject.getPreviousRevisionGuid());
62-
} catch (IOException exception) {
63-
exception.printStackTrace();
64-
}
54+
public void getPostObjectTest() throws IOException {
55+
JsonObject sample = apiService.getLatestRevisions("4", 1)
56+
.get("items").getAsJsonArray()
57+
.get(0).getAsJsonObject();
58+
59+
Post postObject = PostUtils.getPost(sample.getAsJsonObject(), "stackoverflow", "test");
60+
postObject.setPreviousRevisionGuid("ABCDE12345");
61+
62+
assertNotNull(postObject);
63+
64+
assertEquals(4, postObject.getPostId());
65+
assertEquals("question", postObject.getPostType());
66+
assertEquals("test", postObject.getTitle());
67+
assertEquals("ABCDE12345", postObject.getPreviousRevisionGuid());
6568
}
6669

6770
@Test
6871
public void getVandalisedPostTest() {
69-
try {
70-
VandalisedPost noVandalism = PostUtils.getVandalisedPost(belisarius.getPost("4"));
71-
assertNull(noVandalism.getSeverity());
72-
Post deletedPost = belisarius.getPost("1");
73-
assertNull(deletedPost);
74-
75-
Map<String, List<VandalisedPost>> vandalisedPosts = new HashMap<>();
76-
List<VandalisedPost> low = new ArrayList<>();
77-
low.add(PostUtils.getVandalisedPost(belisarius.getPost("66373993"))); // removed code Q
78-
low.add(PostUtils.getVandalisedPost(belisarius.getPost("63575223"))); // text removed Q
79-
low.add(PostUtils.getVandalisedPost(belisarius.getPost("64296039"))); // text removed A
80-
low.add(PostUtils.getVandalisedPost(belisarius.getPost("63769100"))); // both of the above
81-
82-
List<VandalisedPost> medium = new ArrayList<>();
72+
VandalisedPost noVandalism = PostUtils.getVandalisedPost(belisarius.getPost("4"));
73+
assertNull(noVandalism.getSeverity());
74+
75+
Post deletedPost = belisarius.getPost("1");
76+
assertNull(deletedPost);
77+
78+
Map<String, List<String>> vandalisedPosts = new HashMap<>();
79+
List<String> low = Arrays.asList(
80+
"66373993", // removed code Q
81+
"63575223", // text removed Q
82+
"64296039", // text removed A
83+
"63769100" // both of the above
84+
);
85+
86+
List<String> medium = Arrays.asList(
8387
// blacklisted word(s)
84-
medium.add(PostUtils.getVandalisedPost(belisarius.getPost("63193055")));
85-
medium.add(PostUtils.getVandalisedPost(belisarius.getPost("31883097")));
86-
medium.add(PostUtils.getVandalisedPost(belisarius.getPost("64643310")));
87-
medium.add(PostUtils.getVandalisedPost(belisarius.getPost("64123548"))); // very long word
88-
89-
List<VandalisedPost> high = new ArrayList<>();
90-
high.add(PostUtils.getVandalisedPost(belisarius.getPost("62812593"))); // offensive word
91-
92-
vandalisedPosts.put("low", low);
93-
vandalisedPosts.put("medium", medium);
94-
vandalisedPosts.put("high", high);
95-
96-
for (Map.Entry<String, List<VandalisedPost>> post : vandalisedPosts.entrySet()) {
97-
for (VandalisedPost vandalisedPost : post.getValue()) {
98-
assertEquals(post.getKey(), vandalisedPost.getSeverity());
99-
}
88+
"63193055",
89+
"31883097",
90+
"64643310",
91+
"64123548" // very long word
92+
);
93+
94+
List<String> high = Arrays.asList("62812593"); // offensive word
95+
96+
vandalisedPosts.put("low", low);
97+
vandalisedPosts.put("medium", medium);
98+
vandalisedPosts.put("high", high);
99+
100+
for (Map.Entry<String, List<String>> entry : vandalisedPosts.entrySet()) {
101+
for (String postId : entry.getValue()) {
102+
Post post = belisarius.getPost(postId);
103+
VandalisedPost vandalisedPost = PostUtils.getVandalisedPost(post);
104+
105+
assertEquals(entry.getKey(), vandalisedPost.getSeverity());
100106
}
101-
} catch (Exception exception) {
102-
exception.printStackTrace();
103107
}
104108
}
105109
}

0 commit comments

Comments
 (0)