Пример #1
0
 def test_intersection_returns_zero_area_rectangle_when_rectangles_do_not_intersect(
         self):
     expected = Rectangle.from_array([0, 0, 0, 0])
     actual = Rectangle.from_array([1, 1, 2, 2]).intersection(
         Rectangle.from_array([5, 5, 6, 6]))
     self.failUnlessEqual(expected, actual)
     self.failUnlessEqual(actual.area(), 0)
Пример #2
0
 def test_conversion_to_integer(self):
     expected = Rectangle.from_array([1, 3, 4, 5])
     actual = Rectangle.from_array([1.4, 2.5, 3.7, 4.99]).intify()
     self.failUnlessEqual(expected, actual)
     self.failUnless(isinstance(actual.x1, int))
     self.failUnless(isinstance(actual.x2, int))
     self.failUnless(isinstance(actual.y1, int))
     self.failUnless(isinstance(actual.y2, int))
Пример #3
0
 def test_intersection_creates_new_rectangle_with_correct_corners(self):
     expected = Rectangle.from_array([-1, -1, 2, 2])
     actual = Rectangle.from_array([-1, -1, 13, 8]).intersection(
         Rectangle.from_array([2, 2, -13, -7]))
     self.failUnlessEqual(expected, actual)
     actual = Rectangle.from_array([-1, 8, 13, -1]).intersection(
         Rectangle.from_array([2, -7, -13, 2]))
     self.failUnlessEqual(expected, actual)
 def test_conversion_to_integer(self):
     expected = Rectangle.from_array([1, 3, 4, 5])
     # rounding convention changed in python3 2.5 becomes 2 not 3
     # see:
     # https://docs.python.org/3/library/functions.html#round
     # https://stackoverflow.com/questions/21839140/python-3-rounding-behavior-in-python-2
     if sys.version_info[0] < 3:
         actual = Rectangle.from_array([1.4, 2.5, 3.7, 4.99]).intify()
     else:
         actual = Rectangle.from_array([1.4, 2.51, 3.7, 4.99]).intify()
     self.assertEqual(expected, actual)
     self.assertTrue(isinstance(actual.x1, int))
     self.assertTrue(isinstance(actual.x2, int))
     self.assertTrue(isinstance(actual.y1, int))
     self.assertTrue(isinstance(actual.y2, int))
Пример #5
0
 def test_create_rectangle_from_array(self):
     expected = Rectangle(Point(1, 2), Point(3, 4))
     actual = Rectangle.from_array([1, 2, 3, 4])
     self.failUnlessEqual(expected, actual)
Пример #6
0
 def test_create_rectangle_from_corner(self):
     expected = Rectangle.from_array([-15, 22, 35, 95])
     actual = Rectangle.from_corner(Point(-15, 22), 50, 73)
     self.failUnlessEqual(expected, actual)
Пример #7
0
 def test_create_rectangle_from_centre(self):
     expected = Rectangle.from_array([-1, -1, 1, 1])
     actual = Rectangle.from_center(Point(0, 0), 2, 2)
     self.failUnlessEqual(expected, actual)
Пример #8
0
 def test_conversion_to_float(self):
     actual = Rectangle.from_array([1, 2, 3, 4]).floatify()
     self.failUnless(isinstance(actual.x1, float))
     self.failUnless(isinstance(actual.x2, float))
     self.failUnless(isinstance(actual.y1, float))
     self.failUnless(isinstance(actual.y2, float))