@@ -15,48 +15,74 @@ import Algorithms
1515final class PartialSortTests : XCTestCase {
1616 func testEmpty( ) {
1717 let array = [ Int] ( )
18-
1918 XCTAssertEqual ( array. partiallySorted ( 0 ) , [ ] )
2019 }
2120
22- func testPartialSortComparable ( ) {
21+ func testPartialSortWithPriority ( ) {
2322 let array : [ Int ] = [ 20 , 1 , 4 , 70 , 100 , 2 , 3 , 7 , 90 ]
2423
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+ )
2629
2730 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 ]
3033 )
3134
3235 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: < ) ,
3449 [ 1 , 2 , 3 , 4 , 7 , 90 , 70 , 20 , 100 ]
3550 )
3651
3752 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 ]
4065 )
4166 }
4267
43- func testPartialSortComparableWithCustomPriority ( ) {
68+ func testPartialSortComparable ( ) {
4469 let array : [ Int ] = [ 20 , 1 , 4 , 70 , 100 , 2 , 3 , 7 , 90 ]
4570
46- XCTAssertEqual ( array. partiallySorted ( 0 , by: > ) , array)
71+ XCTAssertEqual ( array. partiallySorted ( 0 ) , array)
72+
4773 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 ]
5076 )
5177
5278 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 ]
5581 )
5682
5783 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 ]
6086 )
6187 }
6288
@@ -91,16 +117,4 @@ final class PartialSortTests: XCTestCase {
91117 [ 1 , 2 , 3 , 4 , 7 , 20 , 70 , 90 , 100 ]
92118 )
93119 }
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- }
106120}
0 commit comments