@@ -15,48 +15,78 @@ import Algorithms
15
15
final class PartialSortTests : XCTestCase {
16
16
func testEmpty( ) {
17
17
let array = [ Int] ( )
18
-
19
18
XCTAssertEqual ( array. partiallySorted ( 0 ) , [ ] )
20
19
}
21
20
22
- func testPartialSortComparable ( ) {
21
+ func testPartialSortWithPriority ( ) {
23
22
let array : [ Int ] = [ 20 , 1 , 4 , 70 , 100 , 2 , 3 , 7 , 90 ]
24
23
25
- XCTAssertEqual ( array. partiallySorted ( 0 ) , array)
24
+ XCTAssertEqual ( array. partiallySorted ( 0 , by: > ) , array)
25
+ XCTAssertEqual (
26
+ array. partiallySorted ( 1 , by: > ) ,
27
+ [ 100 , 1 , 4 , 3 , 7 , 20 , 70 , 90 , 2 ]
28
+ )
26
29
27
30
XCTAssertEqual (
28
- array. partiallySorted ( 1 ) ,
29
- [ 1 , 90 , 4 , 70 , 100 , 7 , 3 , 2 , 20 ]
31
+ array. partiallySorted ( 5 , by : > ) ,
32
+ [ 100 , 90 , 70 , 20 , 7 , 2 , 4 , 3 , 1 ]
30
33
)
31
34
32
35
XCTAssertEqual (
33
- array. partiallySorted ( 5 ) ,
36
+ array. partiallySorted ( 9 , by: > ) ,
37
+ [ 100 , 90 , 70 , 20 , 7 , 4 , 3 , 2 , 1 ]
38
+ )
39
+
40
+ XCTAssertEqual ( [ 1 ] . partiallySorted ( 0 , by: < ) , [ 1 ] )
41
+ XCTAssertEqual ( [ 1 ] . partiallySorted ( 0 , by: > ) , [ 1 ] )
42
+ XCTAssertEqual ( [ 1 ] . partiallySorted ( 1 , by: < ) , [ 1 ] )
43
+ XCTAssertEqual ( [ 1 ] . partiallySorted ( 1 , by: > ) , [ 1 ] )
44
+ XCTAssertEqual ( [ 0 , 1 ] . partiallySorted ( 1 , by: < ) , [ 0 , 1 ] )
45
+ XCTAssertEqual ( [ 1 , 0 ] . partiallySorted ( 1 , by: < ) , [ 0 , 1 ] )
46
+ XCTAssertEqual ( [ 1 , 0 ] . partiallySorted ( 2 , by: < ) , [ 0 , 1 ] )
47
+ XCTAssertEqual ( [ 0 , 1 ] . partiallySorted ( 1 , by: > ) , [ 1 , 0 ] )
48
+ XCTAssertEqual ( [ 1 , 0 ] . partiallySorted ( 1 , by: > ) , [ 1 , 0 ] )
49
+ XCTAssertEqual ( [ 1 , 0 ] . partiallySorted ( 2 , by: > ) , [ 1 , 0 ] )
50
+
51
+ XCTAssertEqual (
52
+ [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ] . partiallySorted ( 5 , by: < ) ,
34
53
[ 1 , 2 , 3 , 4 , 7 , 90 , 70 , 20 , 100 ]
35
54
)
36
55
37
56
XCTAssertEqual (
38
- array. partiallySorted ( 9 ) ,
39
- [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ]
57
+ [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ] . partiallySorted ( 5 , by: > ) ,
58
+ [ 100 , 90 , 70 , 20 , 7 , 2 , 4 , 3 , 1 ]
59
+ )
60
+
61
+ XCTAssertEqual (
62
+ [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ] . partiallySorted ( 5 , by: > ) ,
63
+ [ 100 , 90 , 70 , 20 , 7 , 2 , 4 , 3 , 1 ]
64
+ )
65
+
66
+ XCTAssertEqual (
67
+ [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ] . partiallySorted ( 5 , by: < ) ,
68
+ [ 1 , 2 , 3 , 4 , 7 , 90 , 70 , 20 , 100 ]
40
69
)
41
70
}
42
71
43
- func testPartialSortComparableWithCustomPriority ( ) {
72
+ func testPartialSortComparable ( ) {
44
73
let array : [ Int ] = [ 20 , 1 , 4 , 70 , 100 , 2 , 3 , 7 , 90 ]
45
74
46
- XCTAssertEqual ( array. partiallySorted ( 0 , by: > ) , array)
75
+ XCTAssertEqual ( array. partiallySorted ( 0 ) , array)
76
+
47
77
XCTAssertEqual (
48
- array. partiallySorted ( 1 , by : > ) ,
49
- [ 100 , 1 , 4 , 3 , 7 , 20 , 70 , 90 , 2 ]
78
+ array. partiallySorted ( 1 ) ,
79
+ [ 1 , 90 , 4 , 70 , 100 , 7 , 3 , 2 , 20 ]
50
80
)
51
81
52
82
XCTAssertEqual (
53
- array. partiallySorted ( 5 , by : > ) ,
54
- [ 100 , 90 , 70 , 20 , 7 , 2 , 4 , 3 , 1 ]
83
+ array. partiallySorted ( 5 ) ,
84
+ [ 1 , 2 , 3 , 4 , 7 , 90 , 70 , 20 , 100 ]
55
85
)
56
86
57
87
XCTAssertEqual (
58
- array. partiallySorted ( 9 , by : > ) ,
59
- [ 100 , 90 , 70 , 20 , 7 , 4 , 3 , 2 , 1 ]
88
+ array. partiallySorted ( 9 ) ,
89
+ [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ]
60
90
)
61
91
}
62
92
@@ -91,16 +121,4 @@ final class PartialSortTests: XCTestCase {
91
121
[ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ]
92
122
)
93
123
}
94
-
95
- func testPartialSortDescendingArray( ) {
96
- let array : [ Int ] = [ 100 , 90 , 70 , 20 , 7 , 4 , 3 , 2 , 1 ]
97
-
98
- XCTAssertEqual ( array. partiallySorted ( 9 , by: > ) , array)
99
- }
100
-
101
- func testPartialSortAscendingArray( ) {
102
- let array : [ Int ] = [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ]
103
-
104
- XCTAssertEqual ( array. partiallySorted ( 9 , by: < ) , array)
105
- }
106
124
}
0 commit comments