@@ -32,6 +32,8 @@ class TestNSArray : XCTestCase {
32
32
( " test_binarySearchFringeCases " , test_binarySearchFringeCases) ,
33
33
( " test_replaceObjectsInRange_withObjectsFromArray " , test_replaceObjectsInRange_withObjectsFromArray) ,
34
34
( " test_replaceObjectsInRange_withObjectsFromArray_range " , test_replaceObjectsInRange_withObjectsFromArray_range) ,
35
+ ( " test_replaceObjectAtIndex " , test_replaceObjectAtIndex) ,
36
+ ( " test_removeObjectsInArray " , test_removeObjectsInArray) ,
35
37
( " test_sortedArrayUsingComparator " , test_sortedArrayUsingComparator) ,
36
38
( " test_sortedArrayWithOptionsUsingComparator " , test_sortedArrayWithOptionsUsingComparator) ,
37
39
( " test_arrayReplacement " , test_arrayReplacement) ,
@@ -176,7 +178,42 @@ class TestNSArray : XCTestCase {
176
178
XCTAssertTrue ( ( array [ 1 ] as! NSNumber ) . integerValue == 10 )
177
179
XCTAssertTrue ( ( array [ 2 ] as! NSNumber ) . integerValue == 2 )
178
180
}
179
-
181
+
182
+ func test_replaceObjectAtIndex( ) {
183
+ let array = NSMutableArray ( array: [
184
+ NSNumber ( int: 0 ) , NSNumber ( int: 1 ) , NSNumber ( int: 2 ) , NSNumber ( int: 3 ) ,
185
+ NSNumber ( int: 4 ) , NSNumber ( int: 5 ) , NSNumber ( int: 7 ) ] )
186
+
187
+ // 1. Check replacement in the middle of the array
188
+ array. replaceObjectAtIndex ( 3 , withObject: NSNumber ( int: 8 ) )
189
+ XCTAssertEqual ( array. count, 7 )
190
+ XCTAssertEqual ( ( array [ 3 ] as! NSNumber ) . integerValue, 8 )
191
+
192
+ // 2. Check replacement of the first element
193
+ array. replaceObjectAtIndex ( 0 , withObject: NSNumber ( int: 7 ) )
194
+ XCTAssertEqual ( array. count, 7 )
195
+ XCTAssertEqual ( ( array [ 0 ] as! NSNumber ) . integerValue, 7 )
196
+
197
+ // 3. Check replacement of the last element
198
+ array. replaceObjectAtIndex ( 6 , withObject: NSNumber ( int: 6 ) )
199
+ XCTAssertEqual ( array. count, 7 )
200
+ XCTAssertEqual ( ( array [ 6 ] as! NSNumber ) . integerValue, 6 )
201
+ }
202
+
203
+ func test_removeObjectsInArray( ) {
204
+ let array = NSMutableArray ( array: [
205
+ NSNumber ( int: 0 ) , NSNumber ( int: 1 ) , NSNumber ( int: 2 ) , NSNumber ( int: 3 ) ,
206
+ NSNumber ( int: 4 ) , NSNumber ( int: 5 ) , NSNumber ( int: 7 ) ] )
207
+ let objectsToRemove : Array < AnyObject > = [
208
+ NSNumber ( int: 1 ) , NSNumber ( int: 22 ) , NSNumber ( int: 7 ) , NSNumber ( int: 5 ) ]
209
+ array. removeObjectsInArray ( objectsToRemove)
210
+ XCTAssertEqual ( array. count, 4 )
211
+ XCTAssertEqual ( ( array [ 0 ] as! NSNumber ) . integerValue, 0 )
212
+ XCTAssertEqual ( ( array [ 1 ] as! NSNumber ) . integerValue, 2 )
213
+ XCTAssertEqual ( ( array [ 2 ] as! NSNumber ) . integerValue, 3 )
214
+ XCTAssertEqual ( ( array [ 3 ] as! NSNumber ) . integerValue, 4 )
215
+ }
216
+
180
217
func test_binarySearchFringeCases( ) {
181
218
let array = NSArray ( array: [
182
219
NSNumber ( int: 0 ) , NSNumber ( int: 1 ) , NSNumber ( int: 2 ) , NSNumber ( int: 2 ) , NSNumber ( int: 3 ) ,
0 commit comments