@@ -829,4 +829,60 @@ def test_ractor
829
829
assert_same obj1, obj2
830
830
RUBY
831
831
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
832
888
end
0 commit comments