@@ -46,7 +46,10 @@ class TestNSArray : XCTestCase {
46
46
( " test_mutableCopying " , test_mutableCopying) ,
47
47
( " test_writeToFile " , test_writeToFile) ,
48
48
( " test_initWithContentsOfFile " , test_initWithContentsOfFile) ,
49
- ( " test_readWriteURL " , test_readWriteURL)
49
+ ( " test_readWriteURL " , test_readWriteURL) ,
50
+ ( " test_insertObjectAtIndex " , test_insertObjectAtIndex) ,
51
+ ( " test_insertObjectsAtIndexes " , test_insertObjectsAtIndexes) ,
52
+ ( " test_replaceObjectsAtIndexesWithObjects " , test_replaceObjectsAtIndexesWithObjects) ,
50
53
]
51
54
}
52
55
@@ -565,6 +568,52 @@ class TestNSArray : XCTestCase {
565
568
}
566
569
}
567
570
571
+ func test_insertObjectAtIndex( ) {
572
+ let a1 = NSMutableArray ( arrayLiteral: " one " , " two " , " three " , " four " )
573
+ a1. insert ( " a " , at: 0 )
574
+ XCTAssertEqual ( a1, [ " a " , " one " , " two " , " three " , " four " ] )
575
+
576
+ let a2 = NSMutableArray ( arrayLiteral: " one " , " two " , " three " , " four " )
577
+ a2. insert ( " a " , at: 4 )
578
+ XCTAssertEqual ( a2, [ " one " , " two " , " three " , " four " , " a " ] )
579
+
580
+ let a3 = NSMutableArray ( )
581
+ a3. insert ( " a " , at: 0 )
582
+ XCTAssertEqual ( a3, [ " a " ] )
583
+ }
584
+
585
+ func test_insertObjectsAtIndexes( ) {
586
+ let a1 = NSMutableArray ( arrayLiteral: " one " , " two " , " three " , " four " )
587
+ a1. insert ( [ " a " , " b " ] , at: [ 0 , 1 ] )
588
+ XCTAssertEqual ( a1, [ " a " , " b " , " one " , " two " , " three " , " four " ] )
589
+
590
+ let a2 = NSMutableArray ( arrayLiteral: " one " , " two " , " three " , " four " )
591
+ a2. insert ( [ " a " , " b " ] , at: [ 1 , 3 ] )
592
+ XCTAssertEqual ( a2, [ " one " , " a " , " two " , " b " , " three " , " four " ] )
593
+
594
+ let a3 = NSMutableArray ( arrayLiteral: " one " , " two " , " three " , " four " )
595
+ a3. insert ( [ " a " , " b " ] , at: [ 5 , 4 ] )
596
+ XCTAssertEqual ( a3, [ " one " , " two " , " three " , " four " , " a " , " b " ] )
597
+
598
+ let a4 = NSMutableArray ( )
599
+ a4. insert ( [ " a " , " b " ] , at: [ 0 , 1 ] )
600
+ XCTAssertEqual ( a4, [ " a " , " b " ] )
601
+ }
602
+
603
+ func test_replaceObjectsAtIndexesWithObjects( ) {
604
+ let a1 = NSMutableArray ( arrayLiteral: " one " , " two " , " three " , " four " )
605
+ a1. replaceObjects ( at: [ 0 ] , with: [ " a " ] )
606
+ XCTAssertEqual ( a1, [ " a " , " two " , " three " , " four " ] )
607
+
608
+ let a2 = NSMutableArray ( arrayLiteral: " one " , " two " , " three " , " four " )
609
+ a2. replaceObjects ( at: [ 1 , 2 ] , with: [ " a " , " b " ] )
610
+ XCTAssertEqual ( a2, [ " one " , " a " , " b " , " four " ] )
611
+
612
+ let a3 = NSMutableArray ( arrayLiteral: " one " , " two " , " three " , " four " )
613
+ a3. replaceObjects ( at: [ 3 , 2 , 1 , 0 ] , with: [ " a " , " b " , " c " , " d " ] )
614
+ XCTAssertEqual ( a3, [ " a " , " b " , " c " , " d " ] )
615
+ }
616
+
568
617
private func createTestFile( _ path: String , _contents: Data ) -> String ? {
569
618
let tempDir = NSTemporaryDirectory ( ) + " TestFoundation_Playground_ " + NSUUID( ) . uuidString + " / "
570
619
do {
0 commit comments