@@ -15,48 +15,74 @@ 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 ( [ 0 , 1 ] . partiallySorted ( 1 , by: < ) , [ 0 , 1 ] )
41
+ XCTAssertEqual ( [ 1 , 0 ] . partiallySorted ( 1 , by: < ) , [ 0 , 1 ] )
42
+ XCTAssertEqual ( [ 1 , 0 ] . partiallySorted ( 2 , by: < ) , [ 0 , 1 ] )
43
+ XCTAssertEqual ( [ 0 , 1 ] . partiallySorted ( 1 , by: > ) , [ 1 , 0 ] )
44
+ XCTAssertEqual ( [ 1 , 0 ] . partiallySorted ( 1 , by: > ) , [ 1 , 0 ] )
45
+ XCTAssertEqual ( [ 1 , 0 ] . partiallySorted ( 2 , by: > ) , [ 1 , 0 ] )
46
+
47
+ XCTAssertEqual (
48
+ [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ] . partiallySorted ( 5 , by: < ) ,
34
49
[ 1 , 2 , 3 , 4 , 7 , 90 , 70 , 20 , 100 ]
35
50
)
36
51
37
52
XCTAssertEqual (
38
- array. partiallySorted ( 9 ) ,
39
- [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ]
53
+ [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ] . partiallySorted ( 5 , by: > ) ,
54
+ [ 100 , 90 , 70 , 20 , 7 , 2 , 4 , 3 , 1 ]
55
+ )
56
+
57
+ XCTAssertEqual (
58
+ [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ] . partiallySorted ( 5 , by: > ) ,
59
+ [ 100 , 90 , 70 , 20 , 7 , 2 , 4 , 3 , 1 ]
60
+ )
61
+
62
+ XCTAssertEqual (
63
+ [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ] . partiallySorted ( 5 , by: < ) ,
64
+ [ 1 , 2 , 3 , 4 , 7 , 90 , 70 , 20 , 100 ]
40
65
)
41
66
}
42
67
43
- func testPartialSortComparableWithCustomPriority ( ) {
68
+ func testPartialSortComparable ( ) {
44
69
let array : [ Int ] = [ 20 , 1 , 4 , 70 , 100 , 2 , 3 , 7 , 90 ]
45
70
46
- XCTAssertEqual ( array. partiallySorted ( 0 , by: > ) , array)
71
+ XCTAssertEqual ( array. partiallySorted ( 0 ) , array)
72
+
47
73
XCTAssertEqual (
48
- array. partiallySorted ( 1 , by : > ) ,
49
- [ 100 , 1 , 4 , 3 , 7 , 20 , 70 , 90 , 2 ]
74
+ array. partiallySorted ( 1 ) ,
75
+ [ 1 , 90 , 4 , 70 , 100 , 7 , 3 , 2 , 20 ]
50
76
)
51
77
52
78
XCTAssertEqual (
53
- array. partiallySorted ( 5 , by : > ) ,
54
- [ 100 , 90 , 70 , 20 , 7 , 2 , 4 , 3 , 1 ]
79
+ array. partiallySorted ( 5 ) ,
80
+ [ 1 , 2 , 3 , 4 , 7 , 90 , 70 , 20 , 100 ]
55
81
)
56
82
57
83
XCTAssertEqual (
58
- array. partiallySorted ( 9 , by : > ) ,
59
- [ 100 , 90 , 70 , 20 , 7 , 4 , 3 , 2 , 1 ]
84
+ array. partiallySorted ( 9 ) ,
85
+ [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ]
60
86
)
61
87
}
62
88
@@ -91,16 +117,4 @@ final class PartialSortTests: XCTestCase {
91
117
[ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ]
92
118
)
93
119
}
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
120
}
0 commit comments