Skip to content

Commit fe115ed

Browse files
committed
Reorganize the lazy collection tests.
Reordered them so they appear in a somewhat more logical progression. Made the names more consistent.
1 parent d0abbe8 commit fe115ed

File tree

1 file changed

+76
-63
lines changed

1 file changed

+76
-63
lines changed

Tests/SwiftAlgorithmsTests/LazySplitCollectionTests.swift

Lines changed: 76 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,50 @@ final class LazySplitCollectionTests: XCTestCase {
2020
XCTAssertEqualSequences(testResult, expectedResult)
2121
}
2222

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+
2367
func testIntsWithMultipleAdjacentSeparators() {
2468
let nums = [1, 2, 42, 3, 4, 42, 42, 5, 6, 42, 7]
2569
let expectedResult = nums.split(separator: 42)
@@ -84,21 +128,21 @@ final class LazySplitCollectionTests: XCTestCase {
84128
XCTAssertEqualSequences(testResult, expectedResult)
85129
}
86130

87-
func testSingleElement() {
131+
func testIntsSingleElement() {
88132
let num = [1]
89133
let expectedResult = num.split(separator: 42)
90134
let testResult = num.lazy.split(separator: 42)
91135
XCTAssertEqualSequences(testResult, expectedResult)
92136
}
93137

94-
func testSingleSeparator() {
138+
func testIntsSingleSeparator() {
95139
let num = [42]
96140
let expectedResult = num.split(separator: 42)
97141
let testResult = num.lazy.split(separator: 42)
98142
XCTAssertEqualSequences(testResult, expectedResult)
99143
}
100144

101-
func testSingleSeparatorNotOmittingEmpty() {
145+
func testIntsSingleSeparatorNotOmittingEmpty() {
102146
let num = [42]
103147
let expectedResult = num.split(
104148
separator: 42, omittingEmptySubsequences: false)
@@ -107,14 +151,14 @@ final class LazySplitCollectionTests: XCTestCase {
107151
XCTAssertEqualSequences(testResult, expectedResult)
108152
}
109153

110-
func testNonSeparatorSandwich() {
154+
func testIntsNonSeparatorSandwich() {
111155
let nums = [42, 1, 42]
112156
let expectedResult = nums.split(separator: 42)
113157
let testResult = nums.lazy.split(separator: 42)
114158
XCTAssertEqualSequences(testResult, expectedResult)
115159
}
116160

117-
func testNonSeparatorSandwichNotOmittingEmpty() {
161+
func testIntsNonSeparatorSandwichNotOmittingEmpty() {
118162
let nums = [42, 1, 42]
119163
let expectedResult = nums.split(
120164
separator: 42, omittingEmptySubsequences: false)
@@ -123,6 +167,33 @@ final class LazySplitCollectionTests: XCTestCase {
123167
XCTAssertEqualSequences(testResult, expectedResult)
124168
}
125169

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+
126197
func testString() {
127198
let path = "archive.tar.gz"
128199
let expectedResult = path.split(separator: ".")
@@ -137,36 +208,13 @@ final class LazySplitCollectionTests: XCTestCase {
137208
XCTAssertEqualSequences(testResult, expectedResult)
138209
}
139210

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-
154211
func testStringWithMaxSplits() {
155212
let path = "archive.tar.gz"
156213
let expectedResult = path.split(separator: ".", maxSplits: 1)
157214
let testResult = path.lazy.split(separator: ".", maxSplits: 1)
158215
XCTAssertEqualSequences(testResult, expectedResult)
159216
}
160217

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-
170218
func testStringNotOmittingEmpty() {
171219
let line = "BLANCHE: I don't want realism. I want magic!"
172220
let expectedResult = line.split(
@@ -176,14 +224,6 @@ final class LazySplitCollectionTests: XCTestCase {
176224
XCTAssertEqualSequences(testResult, expectedResult)
177225
}
178226

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-
187227
func testStringWithWhereClosure() {
188228
let line = "BLANCHE: I don't want realism. I want magic!"
189229
let isSpace = { $0 == Character(" ") }
@@ -196,31 +236,4 @@ final class LazySplitCollectionTests: XCTestCase {
196236
let testSubject = "foo.bar".lazy.split(separator: ".")
197237
XCTAssertLazySequence(testSubject)
198238
}
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-
}
226239
}

0 commit comments

Comments
 (0)