@@ -11,7 +11,6 @@ export class SortTester {
11
11
expect ( sorter . sort ( [ 1 ] ) ) . toEqual ( [ 1 ] ) ;
12
12
expect ( sorter . sort ( [ 1 , 2 ] ) ) . toEqual ( [ 1 , 2 ] ) ;
13
13
expect ( sorter . sort ( [ 2 , 1 ] ) ) . toEqual ( [ 1 , 2 ] ) ;
14
- expect ( sorter . sort ( [ 1 , 1 , 1 ] ) ) . toEqual ( [ 1 , 1 , 1 ] ) ;
15
14
expect ( sorter . sort ( sortedArr ) ) . toEqual ( sortedArr ) ;
16
15
expect ( sorter . sort ( reverseArr ) ) . toEqual ( sortedArr ) ;
17
16
expect ( sorter . sort ( notSortedArr ) ) . toEqual ( sortedArr ) ;
@@ -33,6 +32,21 @@ export class SortTester {
33
32
expect ( sorter . sort ( [ '' ] ) ) . toEqual ( [ '' ] ) ;
34
33
expect ( sorter . sort ( [ 'a' ] ) ) . toEqual ( [ 'a' ] ) ;
35
34
expect ( sorter . sort ( [ 'aa' , 'a' ] ) ) . toEqual ( [ 'a' , 'aa' ] ) ;
35
+ expect ( sorter . sort ( [ 'aa' , 'aa' ] ) ) . toEqual ( [ 'aa' , 'aa' ] ) ;
36
+ }
37
+
38
+ static testSortStability ( SortingClass ) {
39
+ const callbacks = {
40
+ compareCallback : ( a , b ) => {
41
+ if ( a . length === b . length ) {
42
+ return 0 ;
43
+ }
44
+ return a . length < b . length ? - 1 : 1 ;
45
+ } ,
46
+ } ;
47
+
48
+ const sorter = new SortingClass ( callbacks ) ;
49
+
36
50
expect ( sorter . sort ( [ 'bb' , 'aa' , 'c' ] ) ) . toEqual ( [ 'c' , 'bb' , 'aa' ] ) ;
37
51
}
38
52
0 commit comments