@@ -40,6 +40,7 @@ class TestIndexSet : XCTestCase {
4040 ( " testIndexRange " , testIndexRange) ,
4141 ( " testMutation " , testMutation) ,
4242 ( " testContainsAndIntersects " , testContainsAndIntersects) ,
43+ ( " testContainsIndexSet " , testContainsIndexSet) ,
4344 ( " testIteration " , testIteration) ,
4445 ( " testRangeIteration " , testRangeIteration) ,
4546 ( " testSubrangeIteration " , testSubrangeIteration) ,
@@ -407,6 +408,42 @@ class TestIndexSet : XCTestCase {
407408 XCTAssertFalse ( someIndexes. intersects ( integersIn: 10 ... 12 ) )
408409 XCTAssertFalse ( someIndexes. intersects ( integersIn: 10 ..< 12 ) )
409410 }
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+ }
410447
411448 func testIteration( ) {
412449 var someIndexes = IndexSet ( integersIn: 1 ..< 5 )
0 commit comments