1
1
package bugs .stackoverflow .belisarius .utils ;
2
2
3
- import java .util .ArrayList ;
4
3
import java .util .HashMap ;
5
4
import java .util .List ;
6
5
import java .util .Map ;
7
6
import java .io .IOException ;
7
+ import java .util .Arrays ;
8
8
9
9
import static org .junit .jupiter .api .Assertions .assertEquals ;
10
10
import static org .junit .jupiter .api .Assertions .assertFalse ;
18
18
import bugs .stackoverflow .belisarius .services .ApiService ;
19
19
20
20
import org .junit .jupiter .api .Test ;
21
+
21
22
import com .google .gson .JsonObject ;
22
23
import com .google .gson .JsonParser ;
23
24
24
25
public class PostUtilsTest {
25
26
private final ApiService apiService = new ApiService ("stackoverflow" );
26
27
private final Belisarius belisarius = new Belisarius ("stackoverflow" );
28
+
27
29
private final JsonObject examplePostObject = JsonParser .parseString ("{"
28
30
+ "\" owner\" : {\" reputation\" : 6170, \" user_id\" : 4450024, \" display_name\" : \" Nuñito de la Calzada\" },"
29
31
+ "\" last_editor\" : {\" reputation\" : 6170, \" user_id\" : 4450024, \" display_name\" : \" Nuñito de la Calzada\" },"
@@ -44,62 +46,64 @@ public void postBeenEditedTest() {
44
46
public void editorAlsoOwnerTest () {
45
47
assertTrue (PostUtils .editorAlsoOwner (examplePostObject ));
46
48
examplePostObject .get ("last_editor" ).getAsJsonObject ().addProperty ("user_id" , 1234 );
49
+
47
50
assertFalse (PostUtils .editorAlsoOwner (examplePostObject ));
48
51
}
49
52
50
53
@ 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 ());
65
68
}
66
69
67
70
@ Test
68
71
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 (
83
87
// 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 ());
100
106
}
101
- } catch (Exception exception ) {
102
- exception .printStackTrace ();
103
107
}
104
108
}
105
109
}
0 commit comments