@@ -20,6 +20,50 @@ final class LazySplitCollectionTests: XCTestCase {
20
20
XCTAssertEqualSequences ( testResult, expectedResult)
21
21
}
22
22
23
+ func testIntsWithWhereClosure( ) {
24
+ let nums = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
25
+ let isEven = { $0 % 2 == 0 }
26
+ let expectedResult = nums. split ( whereSeparator: isEven)
27
+ let testResult = nums. lazy. split ( whereSeparator: isEven)
28
+ XCTAssertEqualSequences ( testResult, expectedResult)
29
+ }
30
+
31
+ func testIntsWithMaxSplits( ) {
32
+ let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 ]
33
+ let expectedResult = nums. split ( separator: 42 , maxSplits: 2 )
34
+ let testResult = nums. lazy. split ( separator: 42 , maxSplits: 2 )
35
+ XCTAssertEqualSequences ( testResult, expectedResult)
36
+ }
37
+
38
+ func testZeroMaxSplits( ) {
39
+ let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 ]
40
+ let expectedResult = nums. split ( separator: 42 , maxSplits: 0 )
41
+ let testResult = nums. lazy. split ( separator: 42 , maxSplits: 0 )
42
+ XCTAssertEqualSequences ( testResult, expectedResult)
43
+ }
44
+
45
+ func testIntsNotOmittingEmpty( ) {
46
+ let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 42 , 5 , 6 , 42 , 7 ]
47
+ let expectedResult = nums. split (
48
+ separator: 42 , omittingEmptySubsequences: false )
49
+ let testResult = nums. lazy. split (
50
+ separator: 42 , omittingEmptySubsequences: false )
51
+ XCTAssertEqualSequences ( testResult, expectedResult)
52
+ }
53
+
54
+ func testIntsEndsWithSeparatorNotOmittingEmpty( ) {
55
+ let nums = [ 7 , 42 ]
56
+ let expectedResult = nums. split (
57
+ separator: 42 ,
58
+ omittingEmptySubsequences: false
59
+ )
60
+ let testResult = nums. lazy. split (
61
+ separator: 42 ,
62
+ omittingEmptySubsequences: false
63
+ )
64
+ XCTAssertEqualSequences ( testResult, expectedResult)
65
+ }
66
+
23
67
func testIntsWithMultipleAdjacentSeparators( ) {
24
68
let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 42 , 5 , 6 , 42 , 7 ]
25
69
let expectedResult = nums. split ( separator: 42 )
@@ -84,21 +128,21 @@ final class LazySplitCollectionTests: XCTestCase {
84
128
XCTAssertEqualSequences ( testResult, expectedResult)
85
129
}
86
130
87
- func testSingleElement ( ) {
131
+ func testIntsSingleElement ( ) {
88
132
let num = [ 1 ]
89
133
let expectedResult = num. split ( separator: 42 )
90
134
let testResult = num. lazy. split ( separator: 42 )
91
135
XCTAssertEqualSequences ( testResult, expectedResult)
92
136
}
93
137
94
- func testSingleSeparator ( ) {
138
+ func testIntsSingleSeparator ( ) {
95
139
let num = [ 42 ]
96
140
let expectedResult = num. split ( separator: 42 )
97
141
let testResult = num. lazy. split ( separator: 42 )
98
142
XCTAssertEqualSequences ( testResult, expectedResult)
99
143
}
100
144
101
- func testSingleSeparatorNotOmittingEmpty ( ) {
145
+ func testIntsSingleSeparatorNotOmittingEmpty ( ) {
102
146
let num = [ 42 ]
103
147
let expectedResult = num. split (
104
148
separator: 42 , omittingEmptySubsequences: false )
@@ -107,14 +151,14 @@ final class LazySplitCollectionTests: XCTestCase {
107
151
XCTAssertEqualSequences ( testResult, expectedResult)
108
152
}
109
153
110
- func testNonSeparatorSandwich ( ) {
154
+ func testIntsNonSeparatorSandwich ( ) {
111
155
let nums = [ 42 , 1 , 42 ]
112
156
let expectedResult = nums. split ( separator: 42 )
113
157
let testResult = nums. lazy. split ( separator: 42 )
114
158
XCTAssertEqualSequences ( testResult, expectedResult)
115
159
}
116
160
117
- func testNonSeparatorSandwichNotOmittingEmpty ( ) {
161
+ func testIntsNonSeparatorSandwichNotOmittingEmpty ( ) {
118
162
let nums = [ 42 , 1 , 42 ]
119
163
let expectedResult = nums. split (
120
164
separator: 42 , omittingEmptySubsequences: false )
@@ -123,6 +167,33 @@ final class LazySplitCollectionTests: XCTestCase {
123
167
XCTAssertEqualSequences ( testResult, expectedResult)
124
168
}
125
169
170
+ func testIntsEmptyEquatableCollection( ) {
171
+ let empty : [ Int ] = [ ]
172
+ let expectedResult = empty. split ( separator: 42 )
173
+ let testResult = empty. lazy. split ( separator: 42 )
174
+ XCTAssertEqualSequences ( expectedResult, testResult)
175
+ }
176
+
177
+ func testIntsSepCountEqualOrMoreThanElemCount( ) {
178
+ let nums = [ 0 , 1 , 0 , 0 , 2 ]
179
+ let expectedResult = nums. split ( separator: 0 )
180
+ let testResult = nums. lazy. split ( separator: 0 )
181
+ XCTAssertEqualSequences ( testResult, expectedResult)
182
+ }
183
+
184
+ func testIntsSepCountEqualOrMoreThanElemCountNotOmittingEmpty( ) {
185
+ let nums = [ 0 , 1 , 0 , 0 , 2 ]
186
+ let expectedResult = nums. split (
187
+ separator: 0 ,
188
+ omittingEmptySubsequences: false
189
+ )
190
+ let testResult = nums. lazy. split (
191
+ separator: 0 ,
192
+ omittingEmptySubsequences: false
193
+ )
194
+ XCTAssertEqualSequences ( testResult, expectedResult)
195
+ }
196
+
126
197
func testString( ) {
127
198
let path = " archive.tar.gz "
128
199
let expectedResult = path. split ( separator: " . " )
@@ -137,36 +208,13 @@ final class LazySplitCollectionTests: XCTestCase {
137
208
XCTAssertEqualSequences ( testResult, expectedResult)
138
209
}
139
210
140
- func testIntsWithMaxSplits( ) {
141
- let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 ]
142
- let expectedResult = nums. split ( separator: 42 , maxSplits: 2 )
143
- let testResult = nums. lazy. split ( separator: 42 , maxSplits: 2 )
144
- XCTAssertEqualSequences ( testResult, expectedResult)
145
- }
146
-
147
- func testZeroMaxSplits( ) {
148
- let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 5 , 6 , 42 , 7 ]
149
- let expectedResult = nums. split ( separator: 42 , maxSplits: 0 )
150
- let testResult = nums. lazy. split ( separator: 42 , maxSplits: 0 )
151
- XCTAssertEqualSequences ( testResult, expectedResult)
152
- }
153
-
154
211
func testStringWithMaxSplits( ) {
155
212
let path = " archive.tar.gz "
156
213
let expectedResult = path. split ( separator: " . " , maxSplits: 1 )
157
214
let testResult = path. lazy. split ( separator: " . " , maxSplits: 1 )
158
215
XCTAssertEqualSequences ( testResult, expectedResult)
159
216
}
160
217
161
- func testIntsNotOmittingEmpty( ) {
162
- let nums = [ 1 , 2 , 42 , 3 , 4 , 42 , 42 , 5 , 6 , 42 , 7 ]
163
- let expectedResult = nums. split (
164
- separator: 42 , omittingEmptySubsequences: false )
165
- let testResult = nums. lazy. split (
166
- separator: 42 , omittingEmptySubsequences: false )
167
- XCTAssertEqualSequences ( testResult, expectedResult)
168
- }
169
-
170
218
func testStringNotOmittingEmpty( ) {
171
219
let line = " BLANCHE: I don't want realism. I want magic! "
172
220
let expectedResult = line. split (
@@ -176,14 +224,6 @@ final class LazySplitCollectionTests: XCTestCase {
176
224
XCTAssertEqualSequences ( testResult, expectedResult)
177
225
}
178
226
179
- func testIntsWithWhereClosure( ) {
180
- let nums = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
181
- let isEven = { $0 % 2 == 0 }
182
- let expectedResult = nums. split ( whereSeparator: isEven)
183
- let testResult = nums. lazy. split ( whereSeparator: isEven)
184
- XCTAssertEqualSequences ( testResult, expectedResult)
185
- }
186
-
187
227
func testStringWithWhereClosure( ) {
188
228
let line = " BLANCHE: I don't want realism. I want magic! "
189
229
let isSpace = { $0 == Character ( " " ) }
@@ -196,31 +236,4 @@ final class LazySplitCollectionTests: XCTestCase {
196
236
let testSubject = " foo.bar " . lazy. split ( separator: " . " )
197
237
XCTAssertLazySequence ( testSubject)
198
238
}
199
-
200
- func testEmptyEquatableCollection( ) {
201
- let empty : [ Int ] = [ ]
202
- let expectedResult = empty. split ( separator: 42 )
203
- let testResult = empty. lazy. split ( separator: 42 )
204
- XCTAssertEqualSequences ( expectedResult, testResult)
205
- }
206
-
207
- func testSepCountEqualOrMoreThanElemCount( ) {
208
- let nums = [ 0 , 1 , 0 , 0 , 2 ]
209
- let expectedResult = nums. split ( separator: 0 )
210
- let testResult = nums. lazy. split ( separator: 0 )
211
- XCTAssertEqualSequences ( testResult, expectedResult)
212
- }
213
-
214
- func testSepCountEqualOrMoreThanElemCountNotOmittingEmpty( ) {
215
- let nums = [ 0 , 1 , 0 , 0 , 2 ]
216
- let expectedResult = nums. split (
217
- separator: 0 ,
218
- omittingEmptySubsequences: false
219
- )
220
- let testResult = nums. lazy. split (
221
- separator: 0 ,
222
- omittingEmptySubsequences: false
223
- )
224
- XCTAssertEqualSequences ( testResult, expectedResult)
225
- }
226
239
}
0 commit comments