def test_intersect_normal(self):
     s_1: Segment = Segment(Point(0, 0), Point(3, 0))
     s_2: Segment = Segment(Point(1, 1), Point(2, -1))
     s_3: Segment = Segment(Point(3, 1), Point(3, -1))
     s_4: Segment = Segment(Point(3, -2), Point(5, 0))
     self.assertEqual(intersect(s_1, s_2), True)
     self.assertEqual(intersect(s_1, s_3), True)
     self.assertEqual(intersect(s_1, s_4), False)
 def test_get_distance_ss_normal(self):
     s_0: Segment = Segment(Point(0, 0), Point(2, 2))
     s_1: Segment = Segment(Point(-3, -3), Point(-1, -1))
     s_2: Segment = Segment(Point(0, -3), Point(1, -2))
     s_3: Segment = Segment(Point(0, 2), Point(2, 0))
     self.assertEqual(equals(get_distance_ss(s_0, s_1), math.sqrt(2)), True)
     self.assertEqual(equals(get_distance_ss(s_0, s_2), math.sqrt(5)), True)
     self.assertEqual(equals(get_distance_ss(s_0, s_3), 0), True)
 def test_get_cross_point_normal(self):
     s_1: Segment = Segment(Point(0, 0), Point(1, 1))
     s_2: Segment = Segment(Point(0, 1), Point(1, 0))
     s_3: Segment = Segment(Point(1, 0), Point(0, 1))
     s_4: Segment = Segment(Point(0, 1), Point(1, 2))
     self.assertEqual(equals(get_cross_point(s_1, s_2).x, 0.5), True)
     self.assertEqual(equals(get_cross_point(s_1, s_2).y, 0.5), True)
     self.assertEqual(equals(get_cross_point(s_1, s_3).x, 0.5), True)
     self.assertEqual(equals(get_cross_point(s_1, s_3).y, 0.5), True)
     self.assertIsNone(get_cross_point(s_1, s_4))
 def test_is_parallel_normal(self):
     # Vector
     v_1: Vector = Vector(1.0, 1.0)
     v_2: Vector = Vector(2.0, 2.0)
     self.assertEqual(is_parallel(v_1, v_2), True)
     # Points
     p_1: Point = Point(1.0, 1.0)
     p_2: Point = Point(2.0, 2.0)
     p_3: Point = Point(-1.0, -1.0)
     p_4: Point = Point(-2.0, -2.0)
     self.assertEqual(is_parallel(p_1, p_2, p_3, p_4), True)
     # Segments
     s_1: Segment = Segment(p_1, p_2)
     s_2: Segment = Segment(p_3, p_4)
     self.assertEqual(is_parallel(s_1, s_2), True)
Exemplo n.º 5
0
 def test_defined_segment_correctly(self) -> None:
     """
     Segment Data Structure Normal Case Test
     :return: None
     """
     segment: Segment = Segment(Point(0.1, 0.2), Point(0.3, 0.4))
     self.assertEqual(segment.p1.x, 0.1)
     self.assertEqual(segment.p1.y, 0.2)
     self.assertEqual(segment.p2.x, 0.3)
     self.assertEqual(segment.p2.y, 0.4)
 def test_get_distance_sp_normal(self):
     p_l: Point = Point(-1, -1)
     p_r: Point = Point(1, 1)
     s: Segment = Segment(p_l, p_r)
     p_1: Point = Point(-2, -2)
     p_2: Point = Point(0, 1)
     p_3: Point = Point(2, 2)
     self.assertEqual(equals(get_distance_sp(s, p_1), (p_1 - p_l).abs()),
                      True)
     self.assertEqual(equals(get_distance_sp(s, p_2), 1.0 / math.sqrt(2)),
                      True)
     self.assertEqual(equals(get_distance_sp(s, p_3), (p_3 - p_r).abs()),
                      True)
 def test_get_num_of_segment_intersections_normal(self):
     segments: List[Segment] = [
         Segment(Point(2, 2), Point(2, 5)),
         Segment(Point(1, 3), Point(5, 3)),
         Segment(Point(4, 1), Point(4, 4)),
         Segment(Point(5, 2), Point(7, 2)),
         Segment(Point(6, 1), Point(6, 3)),
         Segment(Point(6, 5), Point(6, 7))
     ]
     self.assertEqual(3, get_num_of_segment_intersections(segments))
 def test_reflect_normal(self):
     seg: Segment = Segment(Point(0, 0), Point(3, 4))
     p: Point = Point(2, 5)
     self.assertEqual(equals(reflect(seg, p).x, 4.24), True)
     self.assertEqual(equals(reflect(seg, p).y, 3.32), True)
 def test_project_normal(self):
     seg: Segment = Segment(Point(0, 0), Point(3, 4))
     p: Point = Point(2, 5)
     self.assertEqual(equals(project(seg, p).x, 3.12), True)
     self.assertEqual(equals(project(seg, p).y, 4.16), True)