@@ -829,4 +829,60 @@ def test_ractor
829829 assert_same obj1, obj2
830830 RUBY
831831 end
832+
833+ def test_rotate_with_symbol
834+ assert_equal ( Matrix [ [ 4 , 1 ] , [ 5 , 2 ] , [ 6 , 3 ] ] , @m1 . rotate_entries )
835+ assert_equal ( @m1 . rotate_entries , @m1 . rotate_entries ( :clockwise ) )
836+ assert_equal ( Matrix [ [ 4 , 1 ] , [ 5 , 2 ] , [ 6 , 3 ] ] ,
837+ @m1 . rotate_entries ( :clockwise ) )
838+ assert_equal ( Matrix [ [ 3 , 6 ] , [ 2 , 5 ] , [ 1 , 4 ] ] ,
839+ @m1 . rotate_entries ( :counter_clockwise ) )
840+ assert_equal ( Matrix [ [ 6 , 5 , 4 ] , [ 3 , 2 , 1 ] ] ,
841+ @m1 . rotate_entries ( :half_turn ) )
842+ assert_equal ( Matrix [ [ 6 , 5 , 4 ] , [ 3 , 2 , 1 ] ] ,
843+ @m1 . rotate_entries ( :half_turn ) )
844+ assert_equal ( Matrix . empty ( 0 , 2 ) ,
845+ @e1 . rotate_entries ( :clockwise ) )
846+ assert_equal ( Matrix . empty ( 0 , 2 ) ,
847+ @e1 . rotate_entries ( :counter_clockwise ) )
848+ assert_equal ( Matrix . empty ( 2 , 0 ) ,
849+ @e1 . rotate_entries ( :half_turn ) )
850+ assert_equal ( Matrix . empty ( 0 , 3 ) ,
851+ @e2 . rotate_entries ( :half_turn ) )
852+ end
853+
854+ def test_rotate_with_numeric
855+ assert_equal ( Matrix [ [ 4 , 1 ] , [ 5 , 2 ] , [ 6 , 3 ] ] ,
856+ @m1 . rotate_entries ( 1 ) )
857+ assert_equal ( @m2 . rotate_entries ( :half_turn ) ,
858+ @m2 . rotate_entries ( 2 ) )
859+ assert_equal ( @m2 . rotate_entries ( :half_turn ) ,
860+ @m1 . rotate_entries ( 2 ) )
861+ assert_equal ( @m1 . rotate_entries ( :counter_clockwise ) ,
862+ @m1 . rotate_entries ( 3 ) )
863+ assert_equal ( @m1 ,
864+ @m1 . rotate_entries ( 4 ) )
865+ assert_equal ( @m1 ,
866+ @m1 . rotate_entries ( 4 ) )
867+ assert_not_same ( @m1 ,
868+ @m1 . rotate_entries ( 4 ) )
869+ assert_equal ( @m1 . rotate_entries ( :clockwise ) ,
870+ @m1 . rotate_entries ( 5 ) )
871+ assert_equal ( Matrix . empty ( 0 , 2 ) ,
872+ @e1 . rotate_entries ( 1 ) )
873+ assert_equal ( @e2 ,
874+ @e2 . rotate_entries ( 2 ) )
875+ assert_equal ( @e2 . rotate_entries ( 1 ) ,
876+ @e2 . rotate_entries ( 3 ) )
877+ assert_equal ( @e2 . rotate_entries ( :counter_clockwise ) ,
878+ @e2 . rotate_entries ( -1 ) )
879+ assert_equal ( @m1 . rotate_entries ( :counter_clockwise ) ,
880+ @m1 . rotate_entries ( -1 ) )
881+ assert_equal ( Matrix [ [ 6 , 5 , 4 ] , [ 3 , 2 , 1 ] ] ,
882+ @m1 . rotate_entries ( -2 ) )
883+ assert_equal ( @m1 ,
884+ @m1 . rotate_entries ( -4 ) )
885+ assert_equal ( @m1 . rotate_entries ( -1 ) ,
886+ @m1 . rotate_entries ( -5 ) )
887+ end
832888end
0 commit comments