@@ -26,25 +26,21 @@ final class IntersperseTests: XCTestCase {
2626 func testString( ) {
2727 let interspersed = " ABCDE " . interspersed ( with: " - " )
2828 XCTAssertEqualSequences ( interspersed, " A-B-C-D-E " )
29- validateIndexTraversals ( interspersed)
3029 }
3130
3231 func testStringEmpty( ) {
3332 let interspersed = " " . interspersed ( with: " - " )
3433 XCTAssertEqualSequences ( interspersed, " " )
35- validateIndexTraversals ( interspersed)
3634 }
3735
3836 func testArray( ) {
3937 let interspersed = [ 1 , 2 , 3 , 4 ] . interspersed ( with: 0 )
4038 XCTAssertEqualSequences ( interspersed, [ 1 , 0 , 2 , 0 , 3 , 0 , 4 ] )
41- validateIndexTraversals ( interspersed)
4239 }
4340
4441 func testArrayEmpty( ) {
4542 let interspersed = [ ] . interspersed ( with: 0 )
4643 XCTAssertEqualSequences ( interspersed, [ ] )
47- validateIndexTraversals ( interspersed)
4844 }
4945
5046 func testCollection( ) {
@@ -55,7 +51,14 @@ final class IntersperseTests: XCTestCase {
5551 func testBidirectionalCollection( ) {
5652 let reversed = " ABCDE " . interspersed ( with: " - " ) . reversed ( )
5753 XCTAssertEqualSequences ( reversed, " E-D-C-B-A " )
58- validateIndexTraversals ( reversed)
54+ }
55+
56+ func testIndexTraversals( ) {
57+ let validator = IndexValidator < InterspersedSequence < String > > ( )
58+ validator. validate ( " " . interspersed ( with: " - " ) , expectedCount: 0 )
59+ validator. validate ( " A " . interspersed ( with: " - " ) , expectedCount: 1 )
60+ validator. validate ( " AB " . interspersed ( with: " - " ) , expectedCount: 3 )
61+ validator. validate ( " ABCDE " . interspersed ( with: " - " ) , expectedCount: 9 )
5962 }
6063
6164 func testIntersperseLazy( ) {
@@ -83,10 +86,18 @@ final class IntersperseTests: XCTestCase {
8386 }
8487
8588 func testInterspersedMapIndexTraversals( ) {
86- validateIndexTraversals (
87- ( 0 ..< 0 ) . lazy. interspersedMap ( { $0 } , with: { _, _ in 100 } ) ,
88- ( 0 ..< 1 ) . lazy. interspersedMap ( { $0 } , with: { _, _ in 100 } ) ,
89- ( 0 ..< 2 ) . lazy. interspersedMap ( { $0 } , with: { _, _ in 100 } ) ,
90- ( 0 ..< 5 ) . lazy. interspersedMap ( { $0 } , with: { _, _ in 100 } ) )
89+ let validator = IndexValidator < InterspersedMapSequence < Range < Int > , Int > > ( )
90+ validator. validate (
91+ ( 0 ..< 0 ) . lazy. interspersedMap ( { $0 } , with: { _, _ in 100 } ) ,
92+ expectedCount: 0 )
93+ validator. validate (
94+ ( 0 ..< 1 ) . lazy. interspersedMap ( { $0 } , with: { _, _ in 100 } ) ,
95+ expectedCount: 1 )
96+ validator. validate (
97+ ( 0 ..< 2 ) . lazy. interspersedMap ( { $0 } , with: { _, _ in 100 } ) ,
98+ expectedCount: 3 )
99+ validator. validate (
100+ ( 0 ..< 5 ) . lazy. interspersedMap ( { $0 } , with: { _, _ in 100 } ) ,
101+ expectedCount: 9 )
91102 }
92103}
0 commit comments