def test_out(self):
     self.assertFalse(
         Calculator.point_in_camera_view_triangle(0, 0, self.camera))
     self.assertFalse(
         Calculator.point_in_camera_view_triangle(3.9, 2, self.camera))
     self.assertFalse(
         Calculator.point_in_camera_view_triangle(6.1, 2, self.camera))
     self.assertFalse(
         Calculator.point_in_camera_view_triangle(4, -0.1, self.camera))
 def test_out(self):
     self.assertFalse(
         Calculator.point_in_camera_view_triangle(12.1, 12.1, self.camera))
     self.assertFalse(
         Calculator.point_in_camera_view_triangle(13, 9.9, self.camera))
     self.assertFalse(
         Calculator.point_in_camera_view_triangle(9, 9, self.camera))
     self.assertFalse(
         Calculator.point_in_camera_view_triangle(9, 12, self.camera))
     self.assertFalse(
         Calculator.point_in_camera_view_triangle(12, 9, self.camera))
 def calculate(self):
     # This is very slow code
     # TODO: rewrite
     x_len = len(self.grid.coordinates_x)
     y_len = len(self.grid.coordinates_y)
     for i in range(x_len):
         for j in range(y_len):
             self.grid.seen[i][
                 j] = Calculator.point_in_camera_view_triangle(
                     self.grid.coordinates_x[i], self.grid.coordinates_y[j],
                     self.camera)
     self.calculated = True
 def test_on(self):
     self.assertTrue(
         Calculator.point_in_camera_view_triangle(3, 1, self.camera))
     self.assertTrue(
         Calculator.point_in_camera_view_triangle(2, 0, self.camera))
     self.assertTrue(
         Calculator.point_in_camera_view_triangle(6, 4, self.camera))
     self.assertTrue(
         Calculator.point_in_camera_view_triangle(4, 2, self.camera))
     self.assertTrue(
         Calculator.point_in_camera_view_triangle(4, 0, self.camera))
     self.assertTrue(
         Calculator.point_in_camera_view_triangle(6, 2, self.camera))
     self.assertTrue(
         Calculator.point_in_camera_view_triangle(5, 3, self.camera))
    def test(self):
        self.assertEqual(Calculator.distance_between_points(0, 0, 2, 0), 2)
        self.assertEqual(Calculator.distance_between_points(2, 0, 0, 0), 2)

        self.assertEqual(Calculator.distance_between_points(0, 0, 1, 1),
                         math.sqrt(2))
        self.assertEqual(Calculator.distance_between_points(1, 1, 0, 0),
                         math.sqrt(2))

        self.assertEqual(
            Calculator.distance_between_points(100, 100, 102, 100), 2)
        self.assertEqual(
            Calculator.distance_between_points(102, 100, 100, 100), 2)

        self.assertEqual(
            Calculator.distance_between_points(100, 100, 101, 101),
            math.sqrt(2))
        self.assertEqual(
            Calculator.distance_between_points(101, 101, 100, 100),
            math.sqrt(2))
 def test_in_over_180(self):
     self.assertTrue(Calculator.angle_is_between_or_on_angles(
         179, 168, 180))
     self.assertTrue(Calculator.angle_is_between_or_on_angles(
         179, 168, 180))
 def test_x_zero_y_positive(self):
     self.assertEqual(Calculator.calculate_angle(0, 2, 0, 0), 90)
     self.assertEqual(Calculator.calculate_angle(2, 4, 2, 2), 90)
     self.assertEqual(Calculator.calculate_angle(-2, 0, -2, -2), 90)
 def test_x_zero_y_negative(self):
     self.assertEqual(Calculator.calculate_angle(0, -2, 0, 0), 270)
     self.assertEqual(Calculator.calculate_angle(2, 0, 2, 2), 270)
     self.assertEqual(Calculator.calculate_angle(-2, -4, -2, -2), 270)
 def test_x_negative_y_negative(self):
     self.assertEqual(Calculator.calculate_angle(-2, -2, 0, 0), 225)
     self.assertEqual(Calculator.calculate_angle(0, 0, 2, 2), 225)
     self.assertEqual(Calculator.calculate_angle(-4, -4, -2, -2), 225)
     self.assertEqual(
         round(Calculator.calculate_angle(-1, -math.sqrt(3), 0, 0)), 240)
 def test_x_negative_y_zero(self):
     self.assertEqual(Calculator.calculate_angle(-2, 0, 0, 0), 180)
     self.assertEqual(Calculator.calculate_angle(0, 2, 2, 2), 180)
     self.assertEqual(Calculator.calculate_angle(-4, -2, -2, -2), 180)
 def test_x_positive_y_zero(self):
     self.assertEqual(Calculator.calculate_angle(2, 0, 0, 0), 0)
     self.assertEqual(Calculator.calculate_angle(4, 2, 2, 2), 0)
     self.assertEqual(Calculator.calculate_angle(0, -2, -2, -2), 0)
 def test_x_negative_y_positive(self):
     self.assertEqual(Calculator.calculate_angle(-2, 2, 0, 0), 135)
     self.assertEqual(Calculator.calculate_angle(0, 4, 2, 2), 135)
     self.assertEqual(Calculator.calculate_angle(-4, 0, -2, -2), 135)
     self.assertEqual(
         round(Calculator.calculate_angle(-1, math.sqrt(3), 0, 0)), 120)
 def test_x_positive_y_negative(self):
     self.assertEqual(Calculator.calculate_angle(2, -2, 0, 0), 315)
     self.assertEqual(Calculator.calculate_angle(4, 0, 2, 2), 315)
     self.assertEqual(Calculator.calculate_angle(0, -4, -2, -2), 315)
     self.assertEqual(
         round(Calculator.calculate_angle(1, -math.sqrt(3), 0, 0)), 300)
 def test_out(self):
     self.assertFalse(Calculator.angle_is_between_or_on_angles(
         180, 270, 90))
 def test_x_positive_y_positive(self):
     self.assertEqual(Calculator.calculate_angle(2, 2, 0, 0), 45)
     self.assertEqual(Calculator.calculate_angle(4, 4, 2, 2), 45)
     self.assertEqual(Calculator.calculate_angle(0, 0, -2, -2), 45)
     self.assertEqual(
         round(Calculator.calculate_angle(1, math.sqrt(3), 0, 0)), 60)
 def test_in_over_zero(self):
     self.assertTrue(Calculator.angle_is_between_or_on_angles(0, 350, 10))
     self.assertTrue(Calculator.angle_is_between_or_on_angles(0, -10, 10))
     self.assertTrue(Calculator.angle_is_between_or_on_angles(-2, 181, 179))
     self.assertTrue(Calculator.angle_is_between_or_on_angles(0, 270, 90))
 def test_in_basic(self):
     self.assertTrue(Calculator.angle_is_between_or_on_angles(1, 0, 2))
     self.assertTrue(Calculator.angle_is_between_or_on_angles(45, 20, 91))
     self.assertTrue(Calculator.angle_is_between_or_on_angles(180, 90, 270))
 def test(self):
     self.assertEqual(
         Calculator.length_of_line_in_triangle(math.sqrt(2), 90, 45),
         math.sqrt(2))
     ans = Calculator.length_of_line_in_triangle(math.sqrt(8), 90, 71.57)
     self.assertEqual(round(ans, 2), round(math.sqrt(10), 2))
 def test_in(self):
     self.assertTrue(
         Calculator.point_in_camera_view_triangle(10, 2, self.camera))
     self.assertTrue(
         Calculator.point_in_camera_view_triangle(6, 14, self.camera))
 def test_on(self):
     self.assertTrue(
         Calculator.point_in_camera_view_triangle(12, 12, self.camera))
     self.assertTrue(
         Calculator.point_in_camera_view_triangle(13, 10, self.camera))
 def test_on(self):
     self.assertTrue(Calculator.angle_is_between_or_on_angles(0, 0, 0))
     self.assertTrue(Calculator.angle_is_between_or_on_angles(45, 45, 90))
     self.assertTrue(Calculator.angle_is_between_or_on_angles(90, 45, 90))