@@ -862,15 +862,161 @@ def test_find_intersection_overlapping(self):
862
862
self ._find_intersection_fuzzer (poly1 , poly2 , False , True , (0.5 , vector2 .Vector2 (0 , - 1 )))
863
863
self ._find_intersection_fuzzer (poly1 , poly3 , False , True , (0.70710678118 , vector2 .Vector2 (0.70710678118 , - 0.70710678118 )))
864
864
865
- def TestRect2 (unittest .TestCase ):
866
- def test_constructor (self ):
867
- pass
865
+ class TestRect2 (unittest .TestCase ):
866
+ def test_constructor_defaults (self ):
867
+ _rect = rect2 .Rect2 (1 , 1 )
868
+
869
+ self .assertIsNotNone (_rect )
870
+ self .assertIsEqual (1 , _rect .width )
871
+ self .assertIsEqual (1 , _rect .height )
872
+ self .assertIsNotNone (_rect .mincorner )
873
+ self .assertIsEqual (0 , _rect .mincorner .x )
874
+ self .assertIsEqual (0 , _rect .mincorner .y )
875
+
876
+ def test_constructor_specified (self ):
877
+ _rect = rect2 .Rect2 (1 , 3 , vector2 .Vector2 (- 1 , - 1 ))
868
878
869
- def test_polygon (self ):
870
- pass
879
+ self .assertEqual (1 , _rect .width )
880
+ self .assertEqual (3 , _rect .height )
881
+ self .assertIsNotNone (_rect .mincorner )
882
+ self .assertEqual (- 1 , _rect .mincorner .x )
883
+ self .assertEqual (- 1 , _rect .mincorner .y )
884
+
885
+ def test_constructor_errors (self ):
886
+ with self .assertRaises (ValueError ):
887
+ _rect = rect2 .Rect2 (- 1 , 1 )
888
+
889
+ with self .assertRaises (ValueError ):
890
+ _rect = rect2 .Rect2 (1 , - 1 )
891
+
892
+ with self .assertRaises (ValueError ):
893
+ _rect = rect2 .Rect2 (0 , 1 )
894
+
895
+ with self .assertRaises (ValueError ):
896
+ _rect = rect2 .Rect2 (5 , 0 )
897
+
898
+ with self .assertRaises (ValueError ):
899
+ _rect = rect2 .Rect2 (0 , 0 )
900
+
901
+ with self .assertRaises (ValueError ):
902
+ _rect = rect2 .Rect2 (- 3 , - 3 )
903
+
904
+ def test_width (self ):
905
+ _rect = rect2 .Rect2 (1 , 1 )
906
+
907
+ self .assertEqual (1 , _rect .width )
908
+
909
+ _rect .width = 3
910
+
911
+ self .assertEqual (3 , _rect .width )
912
+
913
+ with self .assertRaises (ValueError ):
914
+ _rect .width = 0
915
+
916
+ _rect = rect2 .Rect2 (1 , 1 )
917
+ with self .assertRaises (ValueError ):
918
+ _rect .width = - 3
871
919
920
+ def test_height (self ):
921
+ _rect = rect2 .Rect2 (7 , 11 )
922
+
923
+ self .assertEqual (11 , _rect .height )
924
+
925
+ _rect .height = 5
926
+
927
+ self .assertEqual (5 , _rect .height )
928
+
929
+ with self .assertRaises (ValueError ):
930
+ _rect .height = 0
931
+
932
+ _rect = rect2 .Rect2 (1 , 1 )
933
+ with self .assertRaises (ValueError ):
934
+ _rect .height = - 15
935
+
936
+ _rect = rect2 .Rect2 (1 , 1 )
937
+ with self .assertRaises (ValueError ):
938
+ _rect .height = 1e-09
939
+
940
+ def test_polygon_unshifted (self ):
941
+ _rect = rect2 .Rect2 (1 , 1 )
942
+
943
+ self .assertIsNotNone (_rect .polygon )
944
+ self .assertEqual (0 , _rect .polygon .points [0 ].x )
945
+ self .assertEqual (0 , _rect .polygon .points [0 ].y )
946
+ self .assertEqual (0 , _rect .polygon .points [1 ].x )
947
+ self .assertEqual (1 , _rect .polygon .points [1 ].y )
948
+ self .assertEqual (1 , _rect .polygon .points [2 ].x )
949
+ self .assertEqual (1 , _rect .polygon .points [2 ].y )
950
+ self .assertEqual (1 , _rect .polygon .points [3 ].x )
951
+ self .assertEqual (0 , _rect .polygon .points [3 ].y )
952
+ self .assertEqual (4 , len (_rect .polygon .points ))
953
+
954
+ def test_polygon_shifted (self ):
955
+ _rect = rect2 .Rect2 (1 , 1 , vector2 .Vector2 (1 , 1 ))
956
+
957
+ self .assertIsNotNone (_rect .polygon )
958
+ self .assertEqual (0 , _rect .polygon .points [0 ].x )
959
+ self .assertEqual (0 , _rect .polygon .points [0 ].y )
960
+ self .assertEqual (0 , _rect .polygon .points [1 ].x )
961
+ self .assertEqual (1 , _rect .polygon .points [1 ].y )
962
+ self .assertEqual (1 , _rect .polygon .points [2 ].x )
963
+ self .assertEqual (1 , _rect .polygon .points [2 ].y )
964
+ self .assertEqual (1 , _rect .polygon .points [3 ].x )
965
+ self .assertEqual (0 , _rect .polygon .points [3 ].y )
966
+ self .assertEqual (4 , len (_rect .polygon .points ))
967
+
968
+ def test_polygon_resized (self ):
969
+ _rect = rect2 .Rect2 (1 , 1 )
970
+
971
+ self .assertIsNotNone (_rect .polygon )
972
+ self .assertEqual (0 , _rect .polygon .points [0 ].x )
973
+ self .assertEqual (0 , _rect .polygon .points [0 ].y )
974
+ self .assertEqual (0 , _rect .polygon .points [1 ].x )
975
+ self .assertEqual (1 , _rect .polygon .points [1 ].y )
976
+ self .assertEqual (1 , _rect .polygon .points [2 ].x )
977
+ self .assertEqual (1 , _rect .polygon .points [2 ].y )
978
+ self .assertEqual (1 , _rect .polygon .points [3 ].x )
979
+ self .assertEqual (0 , _rect .polygon .points [3 ].y )
980
+ self .assertEqual (4 , len (_rect .polygon .points ))
981
+
982
+ _rect .width = 3
983
+
984
+ self .assertIsNotNone (_rect .polygon )
985
+ self .assertEqual (0 , _rect .polygon .points [0 ].x )
986
+ self .assertEqual (0 , _rect .polygon .points [0 ].y )
987
+ self .assertEqual (0 , _rect .polygon .points [1 ].x )
988
+ self .assertEqual (1 , _rect .polygon .points [1 ].y )
989
+ self .assertEqual (3 , _rect .polygon .points [2 ].x )
990
+ self .assertEqual (1 , _rect .polygon .points [2 ].y )
991
+ self .assertEqual (3 , _rect .polygon .points [3 ].x )
992
+ self .assertEqual (0 , _rect .polygon .points [3 ].y )
993
+ self .assertEqual (4 , len (_rect .polygon .points ))
994
+
995
+ _rect .height = 0.5
996
+
997
+ self .assertIsNotNone (_rect .polygon )
998
+ self .assertEqual (0 , _rect .polygon .points [0 ].x )
999
+ self .assertEqual (0 , _rect .polygon .points [0 ].y )
1000
+ self .assertEqual (0 , _rect .polygon .points [1 ].x )
1001
+ self .assertEqual (0.5 , _rect .polygon .points [1 ].y )
1002
+ self .assertEqual (3 , _rect .polygon .points [2 ].x )
1003
+ self .assertEqual (0.5 , _rect .polygon .points [2 ].y )
1004
+ self .assertEqual (3 , _rect .polygon .points [3 ].x )
1005
+ self .assertEqual (0 , _rect .polygon .points [3 ].y )
1006
+ self .assertEqual (4 , len (_rect .polygon .points ))
1007
+
872
1008
def test_area (self ):
873
- pass
1009
+ _rect = rect2 .Rect2 (1 , 1 )
1010
+
1011
+ self .assertEqual (1 , _rect .area )
1012
+
1013
+ _rect .width = 3
1014
+
1015
+ self .assertEqual (3 , _rect .area )
1016
+
1017
+ _rect .height = 7
1018
+
1019
+ self .assertEqual (21 , _rect .area )
874
1020
875
1021
def test_project_onto_axis (self ):
876
1022
pass
0 commit comments