Skip to content

Commit ec50cb5

Browse files
committed
Add tests
1 parent 1c6d989 commit ec50cb5

File tree

3 files changed

+316
-138
lines changed

3 files changed

+316
-138
lines changed

stdlib/private/StdlibCollectionUnittest/CheckSequenceType.swift

Lines changed: 11 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public struct ElementsEqualWithPredicateTest {
8686
public let expectedLeftoverSequence: [Int]
8787
public let expectedLeftoverOther: [String]
8888
public let loc: SourceLoc
89-
89+
9090
public init(
9191
_ expected: Bool, _ sequence: [Int], _ other: [String],
9292
_ predicate: @escaping (Int, String) -> Bool,
@@ -174,7 +174,7 @@ public struct FindTest {
174174
self.expected = expected
175175
self.element = MinimalEquatableValue(element)
176176
self.sequence = sequence.enumerated().map {
177-
return MinimalEquatableValue($1, identity: $0)
177+
return MinimalEquatableValue($1, identity: $0)
178178
}
179179
self.expectedLeftoverSequence = expectedLeftoverSequence.map(
180180
MinimalEquatableValue.init)
@@ -193,13 +193,13 @@ public struct CollectionBinaryOperationTest {
193193
file: String = #file, line: UInt = #line
194194
) {
195195
self.expected = expected.enumerated().map {
196-
return MinimalEquatableValue($1, identity: $0)
196+
return MinimalEquatableValue($1, identity: $0)
197197
}
198198
self.lhs = lhs.map {
199-
return MinimalEquatableValue($0, identity: $0)
199+
return MinimalEquatableValue($0, identity: $0)
200200
}
201201
self.rhs = rhs.map {
202-
return MinimalEquatableValue($0, identity: $0)
202+
return MinimalEquatableValue($0, identity: $0)
203203
}
204204
self.loc = SourceLoc(file, line, comment: "test data")
205205
}
@@ -217,10 +217,10 @@ public struct CollectionPredicateTest {
217217
) {
218218
self.expected = expected
219219
self.lhs = lhs.enumerated().map {
220-
return MinimalEquatableValue($1, identity: $0)
220+
return MinimalEquatableValue($1, identity: $0)
221221
}
222222
self.rhs = rhs.enumerated().map {
223-
return MinimalEquatableValue($1, identity: $0)
223+
return MinimalEquatableValue($1, identity: $0)
224224
}
225225
self.loc = SourceLoc(file, line, comment: "test data")
226226
}
@@ -457,31 +457,6 @@ public struct StartsWithTest {
457457
self.loc = SourceLoc(file, line, comment: "test data")
458458
}
459459
}
460-
public struct ZipTest {
461-
public let expected: [(Int, Int32)]
462-
public let sequence: [Int]
463-
public let other: [Int32]
464-
public let expectedLeftoverSequence: [Int]
465-
public let expectedLeftoverOther: [Int32]
466-
public let loc: SourceLoc
467-
468-
public init(
469-
_ expected: [(Int, Int32)],
470-
sequences sequence: [Int],
471-
_ other: [Int32],
472-
leftovers expectedLeftoverSequence: [Int],
473-
_ expectedLeftoverOther: [Int32],
474-
file: String = #file, line: UInt = #line
475-
) {
476-
self.expected = expected
477-
self.sequence = sequence
478-
self.other = other
479-
self.expectedLeftoverSequence = expectedLeftoverSequence
480-
self.expectedLeftoverOther = expectedLeftoverOther
481-
self.loc = SourceLoc(file, line, comment: "test data")
482-
}
483-
}
484-
485460

486461
public let elementsEqualTests: [ElementsEqualTest] = [
487462
ElementsEqualTest(true, [], [], [], []),
@@ -506,16 +481,16 @@ func elementsEqualPredicate(_ x: Int, y: String) -> Bool {
506481

507482
public let elementsEqualWithPredicateTests: [ElementsEqualWithPredicateTest] = [
508483
ElementsEqualWithPredicateTest(true, [], [], elementsEqualPredicate, [], []),
509-
484+
510485
ElementsEqualWithPredicateTest(false, [ 1 ], [], elementsEqualPredicate, [ 1 ], []),
511486
ElementsEqualWithPredicateTest(false, [], [ "1" ], elementsEqualPredicate, [], [ "1" ]),
512-
487+
513488
ElementsEqualWithPredicateTest(false, [ 1, 2 ], [], elementsEqualPredicate, [ 1, 2 ], []),
514489
ElementsEqualWithPredicateTest(false, [], [ "1", "2" ], elementsEqualPredicate, [], [ "1", "2" ]),
515-
490+
516491
ElementsEqualWithPredicateTest(false, [ 1, 2, 3, 4 ], [ "1", "2" ], elementsEqualPredicate, [ 3, 4 ], []),
517492
ElementsEqualWithPredicateTest(false, [ 1, 2 ], [ "1", "2", "3", "4" ], elementsEqualPredicate, [], [ "3", "4" ]),
518-
493+
519494
ElementsEqualWithPredicateTest(true, [ 1, 2, 3, 4 ], [ "1", "2", "3", "4" ], elementsEqualPredicate, [], []),
520495
ElementsEqualWithPredicateTest(true, [ 1, 2 ], [ "1", "2" ], elementsEqualPredicate, [], []),
521496
]
@@ -1555,52 +1530,6 @@ public let suffixTests = [
15551530
),
15561531
]
15571532

1558-
public let zipTests = [
1559-
ZipTest([], sequences: [], [], leftovers: [], []),
1560-
ZipTest([], sequences: [], [ 1 ], leftovers: [], [ 1 ]),
1561-
ZipTest([], sequences: [], [ 1, 2 ], leftovers: [], [ 1, 2 ]),
1562-
ZipTest([], sequences: [], [ 1, 2, 3 ], leftovers: [], [ 1, 2, 3 ]),
1563-
1564-
ZipTest([], sequences: [ 10 ], [], leftovers: [], []),
1565-
ZipTest([ (10, 1) ], sequences: [ 10 ], [ 1 ], leftovers: [], []),
1566-
ZipTest([ (10, 1) ], sequences: [ 10 ], [ 1, 2 ], leftovers: [], [ 2 ]),
1567-
ZipTest([ (10, 1) ], sequences: [ 10 ], [ 1, 2, 3 ], leftovers: [], [ 2, 3 ]),
1568-
1569-
ZipTest(
1570-
[],
1571-
sequences: [ 10, 20 ], [],
1572-
leftovers: [ 20 ], []),
1573-
ZipTest(
1574-
[ (10, 1) ],
1575-
sequences: [ 10, 20 ], [ 1 ],
1576-
leftovers: [], []),
1577-
ZipTest(
1578-
[ (10, 1), (20, 2) ],
1579-
sequences: [ 10, 20 ], [ 1, 2 ],
1580-
leftovers: [], []),
1581-
ZipTest(
1582-
[ (10, 1), (20, 2) ],
1583-
sequences: [ 10, 20 ], [ 1, 2, 3 ],
1584-
leftovers: [], [ 3 ]),
1585-
1586-
ZipTest(
1587-
[],
1588-
sequences: [ 10, 20, 30 ], [],
1589-
leftovers: [ 20, 30 ], []),
1590-
ZipTest(
1591-
[ (10, 1) ],
1592-
sequences: [ 10, 20, 30 ], [ 1 ],
1593-
leftovers: [ 30 ], []),
1594-
ZipTest(
1595-
[ (10, 1), (20, 2) ],
1596-
sequences: [ 10, 20, 30 ], [ 1, 2 ],
1597-
leftovers: [], []),
1598-
ZipTest(
1599-
[ (10, 1), (20, 2), (30, 3) ],
1600-
sequences: [ 10, 20, 30 ], [ 1, 2, 3 ],
1601-
leftovers: [], []),
1602-
]
1603-
16041533
public func callGenericUnderestimatedCount<S : Sequence>(_ s: S) -> Int {
16051534
return s.underestimatedCount
16061535
}

validation-test/stdlib/SequenceType.swift.gyb

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -943,62 +943,6 @@ SequenceTypeTests.test("flatMap/Sequence/TransformProducesOptional") {
943943
}
944944
}
945945

946-
//===----------------------------------------------------------------------===//
947-
// zip()
948-
//===----------------------------------------------------------------------===//
949-
950-
// Check generic parameter names.
951-
extension Zip2Sequence.Iterator
952-
where Sequence1 : TestProtocol1, Sequence2 : TestProtocol1 {
953-
954-
var _generator1IsTestProtocol1: Bool {
955-
fatalError("not implemented")
956-
}
957-
}
958-
959-
// Check generic parameter names.
960-
extension Zip2Sequence
961-
where Sequence1 : TestProtocol1, Sequence2 : TestProtocol1 {
962-
963-
var _sequence1IsTestProtocol1: Bool {
964-
fatalError("not implemented")
965-
}
966-
}
967-
968-
SequenceTypeTests.test("zip") {
969-
typealias Element = (OpaqueValue<Int>, OpaqueValue<Int32>)
970-
func compareElements(_ lhs: Element, rhs: Element) -> Bool {
971-
return lhs.0.value == rhs.0.value && lhs.1.value == rhs.1.value
972-
}
973-
974-
for test in zipTests {
975-
let s = MinimalSequence<OpaqueValue<Int>>(
976-
elements: test.sequence.map(OpaqueValue.init))
977-
let other = MinimalSequence<OpaqueValue<Int32>>(
978-
elements: test.other.map(OpaqueValue.init))
979-
var result = zip(s, other)
980-
expectType(
981-
Zip2Sequence<MinimalSequence<OpaqueValue<Int>>, MinimalSequence<OpaqueValue<Int32>>>.self,
982-
&result)
983-
984-
// Check for expected result and check the Zip2Sequence's Sequence
985-
// conformance.
986-
checkSequence(
987-
test.expected.map { (OpaqueValue($0), OpaqueValue($1)) }, result,
988-
stackTrace: SourceLocStack().with(test.loc), sameValue: compareElements)
989-
990-
// Check leftovers *after* doing checkSequence(), not before, to ensure
991-
// that checkSequence() didn't force us to consume more elements than
992-
// needed.
993-
expectEqual(
994-
test.expectedLeftoverSequence, s.map { $0.value },
995-
stackTrace: SourceLocStack().with(test.loc))
996-
expectEqual(
997-
test.expectedLeftoverOther, other.map { $0.value },
998-
stackTrace: SourceLocStack().with(test.loc))
999-
}
1000-
}
1001-
1002946
//===----------------------------------------------------------------------===//
1003947
// underestimatedCount
1004948
//===----------------------------------------------------------------------===//

0 commit comments

Comments
 (0)