@@ -68,4 +68,38 @@ public void underscoreCompare() {
68
68
assertEquals (-1 , comparator .compare (userB , userA ));
69
69
assertEquals (0 , comparator .compare (userB , userB ));
70
70
}
71
- }
71
+
72
+ @ Test
73
+ public void namesWithSpacesCompare () {
74
+ UserSortNameComparator comparator = new UserSortNameComparator ();
75
+ User userA = Mockito .mock (User .class );
76
+ when (userA .getSortName ()).thenReturn ("Dekfort, Apple" );
77
+ User userB = Mockito .mock (User .class );
78
+ when (userB .getSortName ()).thenReturn ("Del Fintino, Pear" );
79
+ User userC = Mockito .mock (User .class );
80
+ when (userC .getSortName ()).thenReturn ("Dekford" , "Orange" );
81
+ User userD = Mockito .mock (User .class );
82
+ when (userD .getSortName ()).thenReturn ("De'Leon" , "Cactus" );
83
+ User userE = Mockito .mock (User .class );
84
+ when (userE .getSortName ()).thenReturn ("Deleverde" , "Mango" );
85
+
86
+ assertEquals (-1 , comparator .compare (userA , userB ));
87
+ assertEquals (1 , comparator .compare (userB , userA ));
88
+ assertEquals (0 , comparator .compare (userB , userB ));
89
+ assertEquals (-1 , comparator .compare (userD , userC ));
90
+ assertEquals (-1 , comparator .compare (userD , userE ));
91
+ }
92
+
93
+ @ Test
94
+ public void fullnamesWithSpacesCompare () {
95
+ // Given two students, whose lastnames are "Martinez Torcal" and "Martin Troncoso", the logical alphabetical order
96
+ // is first "Martin Troncoso" and after "Martinez Torcal", just because the blank space is counted as a character.
97
+ UserSortNameComparator comparator = new UserSortNameComparator ();
98
+ User userA = Mockito .mock (User .class );
99
+ when (userA .getSortName ()).thenReturn ("Martinez Torcal, Apple" );
100
+ User userB = Mockito .mock (User .class );
101
+ when (userB .getSortName ()).thenReturn ("Martin Troncoso, X" );
102
+
103
+ assertEquals (1 , comparator .compare (userA , userB ));
104
+ }
105
+ }
0 commit comments