@@ -2972,20 +2972,20 @@ def assertAlmostEqual5(self, first, second):
29722972 """
29732973 self .assertAlmostEqual (first , second , places = 5 )
29742974
2975- def assertAlmostEqual5C (self , first , second ):
2975+ def assertSeqAlmostEqual5 (self , first , second ):
29762976 """
2977- This shouldn't be necessary but manylinux i686 python37
2978- won't work with just assertAlmostEqual5-ing it.
2977+ Same as above but for sequences
29792978 """
2980- self .assertAlmostEqual (first [0 ], second [0 ], places = 5 )
2981- self .assertAlmostEqual (first [1 ], second [1 ], places = 5 )
2979+ self .assertEqual (len (first ), len (second ))
2980+ for i , j in zip (first , second ):
2981+ self .assertAlmostEqual5 (i , j )
29822982
29832983 def test_scale_by__larger_single_argument (self ):
29842984 """The scale method scales around the center of the rectangle"""
29852985 r = FRect (2.1 , 4 , 6 , 8.9 )
29862986 r2 = r .scale_by (2.3 )
29872987
2988- self .assertAlmostEqual5C (r .center , r2 .center )
2988+ self .assertSeqAlmostEqual5 (r .center , r2 .center )
29892989 # ((w * scaling) - w) / 2 -> 3.9
29902990 self .assertAlmostEqual5 (r .left - 3.9 , r2 .left )
29912991 self .assertAlmostEqual5 (r .top - 5.785 , r2 .top )
@@ -3000,7 +3000,7 @@ def test_scale_by__larger_single_argument_kwarg(self):
30003000 r = FRect (2.1 , 4 , 6 , 8.9 )
30013001 r2 = r .scale_by (x = 2.3 )
30023002
3003- self .assertAlmostEqual5C (r .center , r2 .center )
3003+ self .assertSeqAlmostEqual5 (r .center , r2 .center )
30043004 # ((w * scaling) - w) / 2 -> 3.9
30053005 self .assertAlmostEqual5 (r .left - 3.9 , r2 .left )
30063006 self .assertAlmostEqual5 (r .top - 5.785 , r2 .top )
@@ -3014,7 +3014,7 @@ def test_scale_by__smaller_single_argument(self):
30143014 r = FRect (2.1 , 4 , 6 , 8.9 )
30153015 r2 = r .scale_by (0.5 )
30163016
3017- self .assertAlmostEqual5C (r .center , r2 .center )
3017+ self .assertSeqAlmostEqual5 (r .center , r2 .center )
30183018 self .assertAlmostEqual5 (r .left + 1.5 , r2 .left )
30193019 self .assertAlmostEqual5 (r .top + 2.225 , r2 .top )
30203020 self .assertAlmostEqual5 (r .right - 1.5 , r2 .right )
@@ -3029,7 +3029,7 @@ def test_scale_by__larger(self):
30293029 # act
30303030 r2 = r .scale_by (2 , 4 )
30313031 # assert
3032- self .assertAlmostEqual5C (r .center , r2 .center )
3032+ self .assertSeqAlmostEqual5 (r .center , r2 .center )
30333033 self .assertAlmostEqual5 (r .left - 3 , r2 .left )
30343034 self .assertAlmostEqual5 (r .centery - r .h * 4 / 2 , r2 .top )
30353035 self .assertAlmostEqual5 (r .right + 3 , r2 .right )
@@ -3047,7 +3047,7 @@ def test_scale_by__larger_kwargs_scale_by(self):
30473047 # act
30483048 r2 = r .scale_by (scale_by = (2 , 4 ))
30493049 # assert
3050- self .assertAlmostEqual5C (r .center , r2 .center )
3050+ self .assertSeqAlmostEqual5 (r .center , r2 .center )
30513051 self .assertAlmostEqual5 (r .left - 3 , r2 .left )
30523052 self .assertAlmostEqual5 (r .centery - r .h * 4 / 2 , r2 .top )
30533053 self .assertAlmostEqual5 (r .right + 3 , r2 .right )
@@ -3065,7 +3065,7 @@ def test_scale_by__larger_kwargs(self):
30653065 # act
30663066 r2 = r .scale_by (x = 2 , y = 4 )
30673067 # assert
3068- self .assertAlmostEqual5C (r .center , r2 .center )
3068+ self .assertSeqAlmostEqual5 (r .center , r2 .center )
30693069 self .assertAlmostEqual5 (r .left - 3 , r2 .left )
30703070 self .assertAlmostEqual5 (r .centery - r .h * 4 / 2 , r2 .top )
30713071 self .assertAlmostEqual5 (r .right + 3 , r2 .right )
@@ -3080,7 +3080,7 @@ def test_scale_by__smaller(self):
30803080 # act
30813081 r2 = r .scale_by (0.5 , 0.25 )
30823082 # assert
3083- self .assertAlmostEqual5C (r .center , r2 .center )
3083+ self .assertSeqAlmostEqual5 (r .center , r2 .center )
30843084 self .assertAlmostEqual5 (r .left + 1.5 , r2 .left )
30853085 self .assertAlmostEqual5 (r .centery - r .h / 4 / 2 , r2 .top )
30863086 self .assertAlmostEqual5 (r .right - 1.5 , r2 .right )
@@ -3178,7 +3178,7 @@ def test_scale_by_ip__larger(self):
31783178 r2 = FRect (r )
31793179 r2 .scale_by_ip (2.3 )
31803180
3181- self .assertAlmostEqual5C (r .center , r2 .center )
3181+ self .assertSeqAlmostEqual5 (r .center , r2 .center )
31823182 # ((w * scaling) - w) / 2 -> 3.9
31833183 self .assertAlmostEqual5 (r .left - 3.9 , r2 .left )
31843184 self .assertAlmostEqual5 (r .top - 5.785 , r2 .top )
@@ -3193,7 +3193,7 @@ def test_scale_by_ip__smaller(self):
31933193 r2 = FRect (r )
31943194 r2 .scale_by_ip (0.5 )
31953195
3196- self .assertAlmostEqual5C (r .center , r2 .center )
3196+ self .assertSeqAlmostEqual5 (r .center , r2 .center )
31973197 self .assertAlmostEqual5 (r .left + 1.5 , r2 .left )
31983198 self .assertAlmostEqual5 (r .top + 2.225 , r2 .top )
31993199 self .assertAlmostEqual5 (r .right - 1.5 , r2 .right )
@@ -3235,6 +3235,31 @@ def test_scale_by_ip__kwarg_exceptions(self):
32353235 with self .assertRaises (TypeError ):
32363236 r .scale_by_ip (scale_by = (1 , 2 ), y = 1 )
32373237
3238+ def test_frect_subscript (self ):
3239+ r = FRect (1.2 , 2.4 , 3.6 , 4.8 )
3240+ self .assertAlmostEqual5 (r [0 ], 1.2 )
3241+ self .assertAlmostEqual5 (r [1 ], 2.4 )
3242+ self .assertAlmostEqual5 (r [2 ], 3.6 )
3243+ self .assertAlmostEqual5 (r [3 ], 4.8 )
3244+ self .assertEqual (r [- 1 ], r [3 ])
3245+ self .assertEqual (r [- 2 ], r [2 ])
3246+ self .assertEqual (r [- 3 ], r [1 ])
3247+ self .assertEqual (r [- 4 ], r [0 ])
3248+ self .assertRaises (IndexError , r .__getitem__ , 5 )
3249+ self .assertRaises (IndexError , r .__getitem__ , - 5 )
3250+ self .assertSeqAlmostEqual5 (r [0 :2 ], [1.2 , 2.4 ])
3251+ self .assertSeqAlmostEqual5 (r [0 :4 ], [1.2 , 2.4 , 3.6 , 4.8 ])
3252+ self .assertSeqAlmostEqual5 (r [0 :- 1 ], [1.2 , 2.4 , 3.6 ])
3253+ self .assertSeqAlmostEqual5 (r [:], [1.2 , 2.4 , 3.6 , 4.8 ])
3254+ self .assertSeqAlmostEqual5 (r [...], [1.2 , 2.4 , 3.6 , 4.8 ])
3255+ self .assertEqual (r [0 :4 ], r )
3256+ self .assertEqual (r [:], r )
3257+ self .assertEqual (r [...], r )
3258+ self .assertSeqAlmostEqual5 (r [0 :4 :2 ], [1.2 , 3.6 ])
3259+ self .assertSeqAlmostEqual5 (r [0 :4 :3 ], [1.2 , 4.8 ])
3260+ self .assertSeqAlmostEqual5 (r [3 ::- 1 ], [4.8 , 3.6 , 2.4 , 1.2 ])
3261+ self .assertRaises (TypeError , r .__getitem__ , None )
3262+
32383263
32393264class SubclassTest (unittest .TestCase ):
32403265 class MyRect (Rect ):
0 commit comments