@@ -40,6 +40,7 @@ class TestIndexSet : XCTestCase {
40
40
( " testIndexRange " , testIndexRange) ,
41
41
( " testMutation " , testMutation) ,
42
42
( " testContainsAndIntersects " , testContainsAndIntersects) ,
43
+ ( " testContainsIndexSet " , testContainsIndexSet) ,
43
44
( " testIteration " , testIteration) ,
44
45
( " testRangeIteration " , testRangeIteration) ,
45
46
( " testSubrangeIteration " , testSubrangeIteration) ,
@@ -407,6 +408,42 @@ class TestIndexSet : XCTestCase {
407
408
XCTAssertFalse ( someIndexes. intersects ( integersIn: 10 ... 12 ) )
408
409
XCTAssertFalse ( someIndexes. intersects ( integersIn: 10 ..< 12 ) )
409
410
}
411
+
412
+ func testContainsIndexSet( ) {
413
+ var someIndexes = IndexSet ( )
414
+ someIndexes. insert ( integersIn: 1 ..< 2 )
415
+ someIndexes. insert ( integersIn: 100 ..< 200 )
416
+ someIndexes. insert ( integersIn: 1000 ..< 2000 )
417
+
418
+ let contained1 = someIndexes
419
+ let contained2 = IndexSet ( integersIn: 120 ..< 150 )
420
+
421
+ var contained3 = IndexSet ( )
422
+ contained3. insert ( integersIn: 100 ..< 200 )
423
+ contained3. insert ( integersIn: 1500 ..< 1600 )
424
+
425
+ let notContained1 = IndexSet ( integer: 9 )
426
+ let notContained2 = IndexSet ( integersIn: 150 ..< 300 )
427
+ var notContained3 = IndexSet ( )
428
+ notContained3. insert ( integersIn: 1 ..< 2 )
429
+ notContained3. insert ( integersIn: 100 ..< 200 )
430
+ notContained3. insert ( integersIn: 1000 ..< 2000 )
431
+ notContained3. insert ( integersIn: 3000 ..< 5000 )
432
+
433
+ XCTAssertTrue ( someIndexes. contains ( integersIn: contained1) )
434
+ XCTAssertTrue ( someIndexes. contains ( integersIn: contained2) )
435
+ XCTAssertTrue ( someIndexes. contains ( integersIn: contained3) )
436
+
437
+ XCTAssertFalse ( someIndexes. contains ( integersIn: notContained1) )
438
+ XCTAssertFalse ( someIndexes. contains ( integersIn: notContained2) )
439
+ XCTAssertFalse ( someIndexes. contains ( integersIn: notContained3) )
440
+
441
+ let emptySet = IndexSet ( )
442
+
443
+ XCTAssertTrue ( emptySet. contains ( integersIn: emptySet) )
444
+ XCTAssertTrue ( someIndexes. contains ( integersIn: emptySet) )
445
+ XCTAssertFalse ( emptySet. contains ( integersIn: someIndexes) )
446
+ }
410
447
411
448
func testIteration( ) {
412
449
var someIndexes = IndexSet ( integersIn: 1 ..< 5 )
0 commit comments