@@ -340,6 +340,13 @@ def test_are_parallel(self):
340340
341341 _line = line2 .Line2 (vector2 .Vector2 (5 , 4 ), vector2 .Vector2 (3 , 1 ))
342342 self .assertTrue (line2 .Line2 .are_parallel (self .line_1_1_3_4 , _line ))
343+
344+ def test_contains_point (self ):
345+ self .assertFalse (line2 .Line2 .contains_point (self .line_origin_1_1 , self .vec_1_1 , self .vec_1_2 ))
346+ self .assertTrue (line2 .Line2 .contains_point (self .line_origin_1_1 , self .vec_1_1 ))
347+ self .assertTrue (line2 .Line2 .contains_point (self .line_1_1_3_4 , vector2 .Vector2 (2 , 2.5 )))
348+ self .assertFalse (line2 .Line2 .contains_point (self .line_1_1_3_4 , vector2 .Vector2 (2 , 2.5 ), vector2 .Vector2 (1 , 0 )))
349+ self .assertTrue (line2 .Line2 .contains_point (line2 .Line2 (vector2 .Vector2 (- 3 , - 3 ), vector2 .Vector2 (6 , 3 )), vector2 .Vector2 (3 , 1 )))
343350
344351 def _find_intr_fuzzer (self , v1 , v2 , v3 , v4 , exp_touching , exp_overlap , exp_intr , number_fuzzes = 3 ):
345352 for i in range (number_fuzzes ):
@@ -1806,7 +1813,7 @@ def _calc_one_moving_one_stat_distlimit_fuzzer(self, poly1tup, vel1tuporvec, pol
18061813 return intr , msg
18071814
18081815 def test_one_moving_one_stationary_distlimit_no_intr (self ):
1809- fn = _calc_one_moving_one_stat_distlimit_fuzzer
1816+ fn = self . _calc_one_moving_one_stat_distlimit_fuzzer
18101817
18111818 # am01
18121819 intr , msg = fn (((0 , 3 ), (1 , 3 ), (1 , 2 ), (0 , 2 )), (1 , 0 ), ((2 , 0 ), (3 , 1 ), (4 , 0 )), 4 )
@@ -1821,18 +1828,18 @@ def test_one_moving_one_stationary_distlimit_no_intr(self):
18211828 self .assertFalse (intr , msg = msg )
18221829
18231830 # am04
1824- intr , msg = fn (((4 , 1.75 ), (5 , 2.5 ), (6 , 2.5 ), (4 , 1.25 )), (- 2 , 1 ), ((4.175 ), (5 , 2.5 ), (6 , 2.5 ), (4 , 1.25 )), self .pt (- 2 , 1 ).magnitude ())
1831+ intr , msg = fn (((4 , 1.75 ), (5 , 2.5 ), (6 , 2.5 ), (4 , 1.25 )), (- 2 , 1 ), ((4 , 1.75 ), (5 , 2.5 ), (6 , 2.5 ), (4 , 1.25 )), self .pt (- 2 , 1 ).magnitude ())
18251832 self .assertFalse (intr , msg = msg )
18261833
18271834 def test_one_moving_one_stationary_distlimit_touching (self ):
1828- fn = _calc_one_moving_one_stat_distlimit_fuzzer
1835+ fn = self . _calc_one_moving_one_stat_distlimit_fuzzer
18291836
18301837 # an01
1831- intr , msg = fn (((0 , 3 ), (1 , 3 ), (1 , 2 ), (0 , 2 )), (5 , - 1.25 ), ((3 , 1 ), (4 , 1 ), (3 , 0 ), (4 , 0 )), self .pt (5 , - 1.25 ).magnitude ())
1838+ intr , msg = fn (((0 , 3 ), (1 , 3 ), (1 , 2 ), (0 , 2 )), (5 , - 1.25 ), ((3 , 1 ), (4 , 1 ), (4 , 0 ), (3 , 0 )), self .pt (5 , - 1.25 ).magnitude ())
18321839 self .assertFalse (intr , msg = msg )
18331840
18341841 # an02
1835- intr , msg = fn (((1 , 3 ), (2 , 3 ), (1 , 2 ), (2 , 2 )), (4 , 0 ), ((1 , 0 ), (2 , 1 ), (4 , 2 ), (5 , 0 )), 4 )
1842+ intr , msg = fn (((1 , 3 ), (2 , 3 ), (2 , 2 ), (1 , 2 )), (4 , 0 ), ((1 , 0 ), (2 , 1 ), (4 , 2 ), (5 , 0 )), 4 )
18361843 self .assertFalse (intr , msg = msg )
18371844
18381845 # an03
@@ -1844,7 +1851,7 @@ def test_one_moving_one_stationary_distlimit_touching(self):
18441851 self .assertFalse (intr , msg = msg )
18451852
18461853 def test_one_moving_one_stationary_distlimit_intr_at_start (self ):
1847- fn = _calc_one_moving_one_stat_distlimit_fuzzer
1854+ fn = self . _calc_one_moving_one_stat_distlimit_fuzzer
18481855
18491856 # ao01
18501857 intr , msg = fn (((3 , 3 ), (4 , 3 ), (4 , 1 ), (3 , 1 )), (2 , 0 ), ((3 , 1 ), (4 , 1 ), (4 , 0 ), (3 , 0 )), 2 )
@@ -1863,7 +1870,7 @@ def test_one_moving_one_stationary_distlimit_intr_at_start(self):
18631870 self .assertTrue (intr , msg = msg )
18641871
18651872 def test_one_moving_one_stationary_distlimit_intr_later (self ):
1866- fn = _calc_one_moving_one_stat_distlimit_fuzzer
1873+ fn = self . _calc_one_moving_one_stat_distlimit_fuzzer
18671874
18681875 # ap01
18691876 intr , msg = fn (((2 , 3 ), (3 , 3 ), (3 , 2 ), (2 , 2 )), (5 , 4 ), ((3 , 5 ), (4 , 5 ), (4 , 4 ), (3 , 4 )), self .pt (5 , 4 ).magnitude ())
@@ -1882,7 +1889,7 @@ def test_one_moving_one_stationary_distlimit_intr_later(self):
18821889 self .assertTrue (intr , msg = msg )
18831890
18841891 def test_one_moving_one_stationary_distlimit_touch_at_limit (self ):
1885- fn = _calc_one_moving_one_stat_distlimit_fuzzer
1892+ fn = self . _calc_one_moving_one_stat_distlimit_fuzzer
18861893
18871894 # aq01
18881895 intr , msg = fn (((0 , 1 ), (1 , 1 ), (1 , 0 ), (0 , 0 )), (4 , 3 ), ((3 , 5 ), (4 , 5 ), (4 , 4 ), (3 , 4 )), self .pt (4 , 3 ).magnitude ())
@@ -1901,7 +1908,7 @@ def test_one_moving_one_stationary_distlimit_touch_at_limit(self):
19011908 self .assertFalse (intr , msg = msg )
19021909
19031910 def test_one_moving_one_stationary_distlimit_intr_after_limit (self ):
1904- fn = _calc_one_moving_one_stat_distlimit_fuzzer
1911+ fn = self . _calc_one_moving_one_stat_distlimit_fuzzer
19051912
19061913 # ar01
19071914 intr , msg = fn (((0 , 1 ), (1 , 1 ), (1 , 0 ), (0 , 0 )), (4 , 3 ), ((5.5 , 5.5 ), (6.5 , 5.5 ), (6.5 , 4.5 ), (5.5 , 4.5 )), self .pt (4 , 3 ).magnitude ())
@@ -1923,7 +1930,9 @@ def test_one_moving_one_stationary_distlimit_intr_after_limit(self):
19231930 def _calc_one_moving_one_stat_along_path_fuzzer (self , poly1tup , pos1tuporvec , pos2tuporvec , poly2tup , reverse = False ):
19241931 # i generated a few polygons in the wrong order when making these tests
19251932 if reverse :
1933+ poly1tup = list (p for p in poly1tup )
19261934 poly1tup .reverse ()
1935+ poly2tup = list (p for p in poly2tup )
19271936 poly2tup .reverse ()
19281937
19291938 fn = self .extr_intr .calculate_one_moving_one_stationary_along_path
@@ -1956,34 +1965,34 @@ def test_one_moving_one_stationary_along_path_no_intr(self):
19561965 self .assertFalse (intr , msg = msg )
19571966
19581967 # as02
1959- intr , msg = fn (((11 , 5 ), (8 , 8 ), (7 , 7 ), (6 , 3 ), (9 , 3 ), ( 11 , 5 )) , (0 , 0 ), (- 1 , - 3 ), ((3.5 , 8.5 ), ( 1 .5 , 8.5 ), (1.5 , 8.5 ), (- 0.5 , 7.5 ), (0.5 , 3.5 ), (1.5 , 2.5 ), (4.5 , 2.5 ), (5.5 , 6.5 )), reverse = True )
1968+ intr , msg = fn (((11 , 5 ), (8 , 8 ), (7 , 7 ), (6 , 3 ), (9 , 3 )) , (0 , 0 ), (- 1 , - 3 ), ((3.5 , 8.5 ), (1.5 , 8.5 ), (- 0.5 , 7.5 ), (0.5 , 3.5 ), (1.5 , 2.5 ), (4.5 , 2.5 ), (5.5 , 6.5 )), reverse = True )
19601969 self .assertFalse (intr , msg = msg )
19611970
19621971 # as03
1963- intr , msg = fn (((0.5 , 9.0 ), (- 1.5 , 8.0 ), (- 1.5 , 6.0 ), (1.5 , 5.0 ), (2.5 , 5.0 ), (2.5 , 9.0 )), (0 , 0 ), (0 , 5 ), ((7.0 , 6.0 ), (4.0 , 5.0 ), (4.0 , 3.0 ), (6.0 , 2.0 ), (8.0 , 3.0 ), ( 7.0 , 6.0 ) ), reverse = True )
1972+ intr , msg = fn (((0.5 , 9.0 ), (- 1.5 , 8.0 ), (- 1.5 , 6.0 ), (1.5 , 5.0 ), (2.5 , 5.0 ), (2.5 , 9.0 )), (0 , 0 ), (0 , 5 ), ((7.0 , 6.0 ), (4.0 , 5.0 ), (4.0 , 3.0 ), (6.0 , 2.0 ), (8.0 , 3.0 )), reverse = True )
19641973 self .assertFalse (intr , msg = msg )
19651974
19661975 # as04
1967- intr , msg = fn (((5.5 , 4.5 ), (3.5 , - 1.5 ), (9.5 , - 1.5 ), (10.5 , 0.5 )), (0 , 0 ), (- 4 , 0 ), ((7.5 , 8.5 ), (7.5 , 8.5 ), ( 6.5 , 5.5 ), (7.5 , 4.5 ), (9.5 , 4.5 ), (10.5 , 7.5 )), reverse = True )
1976+ intr , msg = fn (((5.5 , 4.5 ), (3.5 , - 1.5 ), (9.5 , - 1.5 ), (10.5 , 0.5 )), (0 , 0 ), (- 4 , 0 ), ((7.5 , 8.5 ), (6.5 , 5.5 ), (7.5 , 4.5 ), (9.5 , 4.5 ), (10.5 , 7.5 )), reverse = True )
19681977 self .assertFalse (intr , msg = msg )
19691978
19701979 def test_one_moving_one_stationary_along_path_touching (self ):
19711980 fn = self ._calc_one_moving_one_stat_along_path_fuzzer
19721981
19731982 # at01
1974- intr , msg = fn (((3 , 10 ), (2 , 10 ), (1 , 8 ), (2 , 6 ), (2 , 6 ), ( 5 , 6 ), (7 , 8 )), (0 , 0 ), (8 , 0 ), ((10 , 5 ), (8 , 6 ), (6 , 5 ), (6 , 4 ), (7 , 2 ), (10 , 4 )), reverse = True )
1983+ intr , msg = fn (((3 , 10 ), (2 , 10 ), (1 , 8 ), (2 , 6 ), (5 , 6 ), (7 , 8 )), (0 , 0 ), (8 , 0 ), ((10 , 5 ), (8 , 6 ), (6 , 5 ), (6 , 4 ), (7 , 2 ), (10 , 4 )), reverse = True )
19751984 self .assertFalse (intr , msg = msg )
19761985
19771986 # at02
1978- intr , msg = fn (((5 , 5 ), (4 , 5 ), (2 , 0 ), (4 , - 1 ), (6 , 0 ), ( 5 , 5 ) ), (0 , 0 ), (- 5 , 0 ), ((2 , 11 ), (- 2 , 8 ), (2 , 5 ), (3 , 6 ), (3 , 11 )), reverse = True )
1987+ intr , msg = fn (((5 , 5 ), (4 , 5 ), (2 , 0 ), (4 , - 1 ), (6 , 0 )), (0 , 0 ), (- 5 , 0 ), ((2 , 11 ), (- 2 , 8 ), (2 , 5 ), (3 , 6 ), (3 , 11 )), reverse = True )
19791988 self .assertFalse (intr , msg = msg )
19801989
19811990 # at03
1982- intr , msg = fn ((9.5 , 8.5 ), (8.5 , 7.5 ), (9.5 , 5 ), (10.5 , 7 )), (0 , 0 ), (- 9 , - 9 ), ((2 , 5 ), (- 1 , 5 ), (- 2 , 3 ), (2 , 1 ), (3 , 2 )), reverse = True )
1991+ intr , msg = fn ((( 9.5 , 8.5 ), (8.5 , 7.5 ), (9.5 , 5 ), (10.5 , 7 )), (0 , 0 ), (- 9 , - 9 ), ((2 , 5 ), (- 1 , 5 ), (- 2 , 3 ), (2 , 1 ), (3 , 2 )), reverse = True )
19831992 self .assertFalse (intr , msg = msg )
19841993
19851994 # at04
1986- intr , msg = fn (((4.5 , 4 ), (0.5 , 2 ), (0.5 , 1 ), (0.5 , 0 ), (2.5 , - 2 ), (3.5 , - 2 ), (5.5 , - 1 ), ( 4.5 , 4 )) , (0 , 0 ), (6.7492919018596025 , 4.29500393754702 ), ((8 , 8.5 ), (5 , 9.5 ), (4 , 8.5 ), ( 6 , 5 .5 ), (6 , 5.5 )), reverse = True )
1995+ intr , msg = fn (((4.5 , 4 ), (0.5 , 2 ), (0.5 , 1 ), (0.5 , 0 ), (2.5 , - 2 ), (3.5 , - 2 ), (5.5 , - 1 )) , (0 , 0 ), (6.7492919018596025 , 4.29500393754702 ), ((8 , 8.5 ), (5 , 9.5 ), (4 , 8.5 ), (6 , 5.5 )), reverse = True )
19871996 self .assertFalse (intr , msg = msg )
19881997
19891998 def test_one_moving_one_stationary_along_path_intr_at_start (self ):
0 commit comments