@@ -2397,3 +2397,79 @@ mod array_cow_tests {
23972397 } ) ;
23982398 }
23992399}
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