def test_compute_center_with_simple_square_angle(self):
     """Compute the center of the square in the next step given a right
     angle."""
     initial_square = Square(Point(0, 0), length=2, angle=math.pi / 2)
     point = self.builder._compute_center(
         initial_square, length=1.13, alpha=math.radians(68.57))
     expected_point = Point(1.15, 1.78)
     self.assertAlmostEqual(point.x, expected_point.x, places=1)
     self.assertAlmostEqual(point.y, expected_point.y, places=1)
 def test_compute_center_with_complex_square_angle(self):
     """Compute the center of the square in the next step given a more
     complex angle."""
     initial_square = Square(Point(1.5, 1.5), length=2.24, angle=math.radians(63.43))
     point = self.builder._compute_center(
         initial_square, length=1.65, alpha=math.radians(95.06)
     )
     expected_point = Point(3.48, 3.07)
     self.assertAlmostEqual(point.x, expected_point.x, places=1)
     self.assertAlmostEqual(point.y, expected_point.y, places=1)
 def test_compute_center_with_complex_square_angle_with_base_angle(self):
     """Compute the center of the square in the next step when there is a
     base angle - when the square does not touch the base square on the left
     edge."""
     initial_square = Square(
         Point(1.5, 1.5), length=2.24, angle=math.radians(63.43)
     )
     point = self.builder._compute_center(
         initial_square, length=1.51, alpha=math.radians(180 - 95.06),
         base_angle=math.radians(95.06))
     expected_point = Point(1.43, 3.98)
     self.assertAlmostEqual(point.x, expected_point.x, places=1)
     self.assertAlmostEqual(point.y, expected_point.y, places=1)