10
10
//===----------------------------------------------------------------------===//
11
11
12
12
import XCTest
13
+
13
14
@testable import Algorithms
14
15
15
16
final class LazySplitCollectionTests : XCTestCase {
16
17
func testInts( ) {
17
- let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 , ]
18
+ let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 ]
18
19
let expectedResult = nums. split ( separator: 42 )
19
20
let testResult = nums. lazy. split ( separator: 42 )
20
21
XCTAssertEqualSequences ( testResult, expectedResult)
21
22
}
22
23
23
24
func testIntsWithMultipleAdjacentSeparators( ) {
24
- let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 42 , 5 , 6 , 42 , 7 , ]
25
+ let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 42 , 5 , 6 , 42 , 7 ]
25
26
let expectedResult = nums. split ( separator: 42 )
26
27
let testResult = nums. lazy. split ( separator: 42 )
27
28
XCTAssertEqualSequences ( testResult, expectedResult)
28
29
}
29
30
30
31
func testIntsWithTrailingMultipleAdjacentSeparators( ) {
31
- let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 42 , 5 , 6 , 42 , 7 , 42 , 42 , 42 , ]
32
+ let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 42 , 5 , 6 , 42 , 7 , 42 , 42 , 42 ]
32
33
let expectedResult = nums. split ( separator: 42 )
33
34
let testResult = nums. lazy. split ( separator: 42 )
34
35
XCTAssertEqualSequences ( testResult, expectedResult)
35
36
}
36
37
37
38
func testIntsAllSeparators( ) {
38
- let nums = [ 42 , 42 , 42 , 42 , 42 , ]
39
+ let nums = [ 42 , 42 , 42 , 42 , 42 ]
39
40
let expectedResult = nums. split ( separator: 42 )
40
41
let testResult = nums. lazy. split ( separator: 42 )
41
42
XCTAssertEqualSequences ( testResult, expectedResult)
42
43
}
43
44
44
45
func testIntsAllSeparatorsOmittingEmptySubsequences( ) {
45
- let nums = [ 42 , 42 , 42 , 42 , 42 , ]
46
- let expectedResult = nums. split ( separator: 42 , omittingEmptySubsequences: false )
47
- let testResult = nums. lazy. split ( separator: 42 , omittingEmptySubsequences: false )
46
+ let nums = [ 42 , 42 , 42 , 42 , 42 ]
47
+ let expectedResult = nums. split (
48
+ separator: 42 , omittingEmptySubsequences: false )
49
+ let testResult = nums. lazy. split (
50
+ separator: 42 , omittingEmptySubsequences: false )
48
51
XCTAssertEqualSequences ( testResult, expectedResult)
49
52
}
50
53
51
54
func testIntsStartWithSeparator( ) {
52
- let nums = [ 42 , 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 , ]
55
+ let nums = [ 42 , 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 ]
53
56
let expectedResult = nums. split ( separator: 42 )
54
57
let testResult = nums. lazy. split ( separator: 42 )
55
58
XCTAssertEqualSequences ( testResult, expectedResult)
56
59
}
57
60
58
61
func testIntsStartWithSeparatorOmittingEmptySubsequences( ) {
59
- let nums = [ 42 , 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 , ]
60
- let expectedResult = nums. split ( separator: 42 , omittingEmptySubsequences: false )
61
- let testResult = nums. lazy. split ( separator: 42 , omittingEmptySubsequences: false )
62
+ let nums = [ 42 , 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 ]
63
+ let expectedResult = nums. split (
64
+ separator: 42 , omittingEmptySubsequences: false )
65
+ let testResult = nums. lazy. split (
66
+ separator: 42 , omittingEmptySubsequences: false )
62
67
XCTAssertEqualSequences ( testResult, expectedResult)
63
68
}
64
69
65
70
func testIntsStartWithSeparatorMaxSplitsOmittingEmptySubsequences( ) {
66
- let nums = [ 42 , 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 , ]
67
- let expectedResult = nums. split ( separator: 42 , maxSplits: 2 , omittingEmptySubsequences: false )
68
- let testResult = nums. lazy. split ( separator: 42 , maxSplits: 2 , omittingEmptySubsequences: false )
71
+ let nums = [ 42 , 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 ]
72
+ let expectedResult = nums. split (
73
+ separator: 42 , maxSplits: 2 , omittingEmptySubsequences: false )
74
+ let testResult = nums. lazy. split (
75
+ separator: 42 , maxSplits: 2 , omittingEmptySubsequences: false )
69
76
XCTAssertEqualSequences ( testResult, expectedResult)
70
77
}
71
78
@@ -85,22 +92,26 @@ final class LazySplitCollectionTests: XCTestCase {
85
92
86
93
func testSingleSeparatorOmittingEmptySubsequences( ) {
87
94
let num = [ 42 ]
88
- let expectedResult = num. split ( separator: 42 , omittingEmptySubsequences: false )
89
- let testResult = num. lazy. split ( separator: 42 , omittingEmptySubsequences: false )
95
+ let expectedResult = num. split (
96
+ separator: 42 , omittingEmptySubsequences: false )
97
+ let testResult = num. lazy. split (
98
+ separator: 42 , omittingEmptySubsequences: false )
90
99
XCTAssertEqualSequences ( testResult, expectedResult)
91
100
}
92
101
93
102
func testNonSeparatorSandwich( ) {
94
- let nums = [ 42 , 1 , 42 , ]
103
+ let nums = [ 42 , 1 , 42 ]
95
104
let expectedResult = nums. split ( separator: 42 )
96
105
let testResult = nums. lazy. split ( separator: 42 )
97
106
XCTAssertEqualSequences ( testResult, expectedResult)
98
107
}
99
108
100
109
func testNonSeparatorSandwichOmittingEmptySubsequences( ) {
101
- let nums = [ 42 , 1 , 42 , ]
102
- let expectedResult = nums. split ( separator: 42 , omittingEmptySubsequences: false )
103
- let testResult = nums. lazy. split ( separator: 42 , omittingEmptySubsequences: false )
110
+ let nums = [ 42 , 1 , 42 ]
111
+ let expectedResult = nums. split (
112
+ separator: 42 , omittingEmptySubsequences: false )
113
+ let testResult = nums. lazy. split (
114
+ separator: 42 , omittingEmptySubsequences: false )
104
115
XCTAssertEqualSequences ( testResult, expectedResult)
105
116
}
106
117
@@ -119,14 +130,14 @@ final class LazySplitCollectionTests: XCTestCase {
119
130
}
120
131
121
132
func testIntsWithMaxSplits( ) {
122
- let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 , ]
133
+ let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 ]
123
134
let expectedResult = nums. split ( separator: 42 , maxSplits: 2 )
124
135
let testResult = nums. lazy. split ( separator: 42 , maxSplits: 2 )
125
136
XCTAssertEqualSequences ( testResult, expectedResult)
126
137
}
127
138
128
139
func testZeroMaxSplits( ) {
129
- let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 , ]
140
+ let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 ]
130
141
let expectedResult = nums. split ( separator: 42 , maxSplits: 0 )
131
142
let testResult = nums. lazy. split ( separator: 42 , maxSplits: 0 )
132
143
XCTAssertEqualSequences ( testResult, expectedResult)
@@ -140,21 +151,25 @@ final class LazySplitCollectionTests: XCTestCase {
140
151
}
141
152
142
153
func testIntsWithoutOmittingEmptySubsequences( ) {
143
- let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 42 , 5 , 6 , 42 , 7 , ]
144
- let expectedResult = nums. split ( separator: 42 , omittingEmptySubsequences: false )
145
- let testResult = nums. lazy. split ( separator: 42 , omittingEmptySubsequences: false )
154
+ let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 42 , 5 , 6 , 42 , 7 ]
155
+ let expectedResult = nums. split (
156
+ separator: 42 , omittingEmptySubsequences: false )
157
+ let testResult = nums. lazy. split (
158
+ separator: 42 , omittingEmptySubsequences: false )
146
159
XCTAssertEqualSequences ( testResult, expectedResult)
147
160
}
148
161
149
162
func testStringWithoutOmittingEmptySubsequences( ) {
150
163
let line = " BLANCHE: I don't want realism. I want magic! "
151
- let expectedResult = line. split ( separator: " " , omittingEmptySubsequences: false )
152
- let testResult = line. lazy. split ( separator: " " , omittingEmptySubsequences: false )
164
+ let expectedResult = line. split (
165
+ separator: " " , omittingEmptySubsequences: false )
166
+ let testResult = line. lazy. split (
167
+ separator: " " , omittingEmptySubsequences: false )
153
168
XCTAssertEqualSequences ( testResult, expectedResult)
154
169
}
155
170
156
171
func testIntsWithWhereClosure( ) {
157
- let nums = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , ]
172
+ let nums = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
158
173
let isEven = { $0 % 2 == 0 }
159
174
let expectedResult = nums. split ( whereSeparator: isEven)
160
175
let testResult = nums. lazy. split ( whereSeparator: isEven)
0 commit comments