@@ -2397,3 +2397,79 @@ mod array_cow_tests {
2397
2397
} ) ;
2398
2398
}
2399
2399
}
2400
+
2401
+ #[ test]
2402
+ fn test_remove_index ( ) {
2403
+ let mut a = arr2 ( & [ [ 1 , 2 , 3 ] ,
2404
+ [ 4 , 5 , 6 ] ,
2405
+ [ 7 , 8 , 9 ] ,
2406
+ [ 10 , 11 , 12 ] ] ) ;
2407
+ a. remove_index ( Axis ( 0 ) , 1 ) ;
2408
+ a. remove_index ( Axis ( 1 ) , 2 ) ;
2409
+ assert_eq ! ( a. shape( ) , & [ 3 , 2 ] ) ;
2410
+ assert_eq ! ( a,
2411
+ array![ [ 1 , 2 ] ,
2412
+ [ 7 , 8 ] ,
2413
+ [ 10 , 11 ] ] ) ;
2414
+
2415
+ let mut a = arr2 ( & [ [ 1 , 2 , 3 ] ,
2416
+ [ 4 , 5 , 6 ] ,
2417
+ [ 7 , 8 , 9 ] ,
2418
+ [ 10 , 11 , 12 ] ] ) ;
2419
+ a. invert_axis ( Axis ( 0 ) ) ;
2420
+ a. remove_index ( Axis ( 0 ) , 1 ) ;
2421
+ a. remove_index ( Axis ( 1 ) , 2 ) ;
2422
+ assert_eq ! ( a. shape( ) , & [ 3 , 2 ] ) ;
2423
+ assert_eq ! ( a,
2424
+ array![ [ 10 , 11 ] ,
2425
+ [ 4 , 5 ] ,
2426
+ [ 1 , 2 ] ] ) ;
2427
+
2428
+ a. remove_index ( Axis ( 1 ) , 1 ) ;
2429
+
2430
+ assert_eq ! ( a. shape( ) , & [ 3 , 1 ] ) ;
2431
+ assert_eq ! ( a,
2432
+ array![ [ 10 ] ,
2433
+ [ 4 ] ,
2434
+ [ 1 ] ] ) ;
2435
+ a. remove_index ( Axis ( 1 ) , 0 ) ;
2436
+ assert_eq ! ( a. shape( ) , & [ 3 , 0 ] ) ;
2437
+ assert_eq ! ( a,
2438
+ array![ [ ] ,
2439
+ [ ] ,
2440
+ [ ] ] ) ;
2441
+ }
2442
+
2443
+ #[ should_panic( expected="must be less" ) ]
2444
+ #[ test]
2445
+ fn test_remove_index_oob1 ( ) {
2446
+ let mut a = arr2 ( & [ [ 1 , 2 , 3 ] ,
2447
+ [ 4 , 5 , 6 ] ,
2448
+ [ 7 , 8 , 9 ] ,
2449
+ [ 10 , 11 , 12 ] ] ) ;
2450
+ a. remove_index ( Axis ( 0 ) , 4 ) ;
2451
+ }
2452
+
2453
+ #[ should_panic( expected="must be less" ) ]
2454
+ #[ test]
2455
+ fn test_remove_index_oob2 ( ) {
2456
+ let mut a = array ! [ [ 10 ] , [ 4 ] , [ 1 ] ] ;
2457
+ a. remove_index ( Axis ( 1 ) , 0 ) ;
2458
+ assert_eq ! ( a. shape( ) , & [ 3 , 0 ] ) ;
2459
+ assert_eq ! ( a,
2460
+ array![ [ ] ,
2461
+ [ ] ,
2462
+ [ ] ] ) ;
2463
+ a. remove_index ( Axis ( 0 ) , 1 ) ; // ok
2464
+ assert_eq ! ( a,
2465
+ array![ [ ] ,
2466
+ [ ] ] ) ;
2467
+ a. remove_index ( Axis ( 1 ) , 0 ) ; // oob
2468
+ }
2469
+
2470
+ #[ should_panic( expected="index out of bounds" ) ]
2471
+ #[ test]
2472
+ fn test_remove_index_oob3 ( ) {
2473
+ let mut a = array ! [ [ 10 ] , [ 4 ] , [ 1 ] ] ;
2474
+ a. remove_index ( Axis ( 2 ) , 0 ) ;
2475
+ }
0 commit comments