@@ -53,37 +53,67 @@ def test_bounding_box_single_polygon(rectangle_a, rectangle_b, quadrangle_a):
5353
5454
5555def test_is_point_in_polygon_y (rectangle_a , rectangle_b , quadrangle_a ):
56+ rectangle_a_polygon = geometry .Polygon (rectangle_a )
57+ rectangle_b_polygon = geometry .Polygon (rectangle_b )
58+ quadrangle_a_polygon = geometry .Polygon (quadrangle_a )
59+
5660 # Should be in polygon A & B, since polygons overlap
5761 point_a = geometry .Point (0.125 , 0.535 )
5862 # Should only be in polygon C
5963 point_b = geometry .Point (0.300 , 0.420 )
6064
6165 assert geometry .is_point_in_polygon_y (point_a , rectangle_a )
66+ assert rectangle_a_polygon .is_point_in_y (point_a )
6267 assert geometry .is_point_in_polygon_y (point_a , rectangle_b )
68+ assert rectangle_b_polygon .is_point_in_y (point_a )
6369 assert geometry .is_point_in_polygon_y (point_a , quadrangle_a ) is False
70+ assert quadrangle_a_polygon .is_point_in_y (point_a ) is False
6471
6572 assert geometry .is_point_in_polygon_y (point_b , rectangle_a ) is False
73+ assert rectangle_a_polygon .is_point_in_y (point_b ) is False
6674 assert geometry .is_point_in_polygon_y (point_b , rectangle_b ) is False
75+ assert rectangle_b_polygon .is_point_in_y (point_b ) is False
6776 assert geometry .is_point_in_polygon_y (point_b , quadrangle_a )
77+ assert quadrangle_a_polygon .is_point_in_y (point_b )
6878
6979
7080def test_is_point_in_polygon_x (rectangle_a , rectangle_b , quadrangle_a ):
81+ rectangle_a_polygon = geometry .Polygon (rectangle_a )
82+ rectangle_b_polygon = geometry .Polygon (rectangle_b )
83+ quadrangle_a_polygon = geometry .Polygon (quadrangle_a )
84+
7185 # Should be in polygon A & B, since polygons overlap
7286 point_a = geometry .Point (0.125 , 0.535 )
7387 # Should only be in polygon C
7488 point_b = geometry .Point (0.300 , 0.420 )
7589
7690 assert geometry .is_point_in_polygon_x (point_a , rectangle_a )
91+ assert rectangle_a_polygon .is_point_in_x (point_a )
7792 assert geometry .is_point_in_polygon_x (point_a , rectangle_b )
93+ assert rectangle_b_polygon .is_point_in_x (point_a )
7894 assert geometry .is_point_in_polygon_x (point_a , quadrangle_a ) is False
95+ assert quadrangle_a_polygon .is_point_in_x (point_a ) is False
7996
8097 assert geometry .is_point_in_polygon_x (point_b , rectangle_a ) is False
98+ assert rectangle_a_polygon .is_point_in_x (point_b ) is False
8199 assert geometry .is_point_in_polygon_x (point_b , rectangle_b ) is False
100+ assert rectangle_b_polygon .is_point_in_x (point_b ) is False
82101 assert geometry .is_point_in_polygon_x (point_b , quadrangle_a )
83102
84103
85104def test_get_centroid (rectangle_a ):
86105 assert geometry .get_centroid (rectangle_a ) == (0.149 , 0.538 )
106+ assert geometry .Polygon (rectangle_a ).centroid == geometry .Point (0.149 , 0.538 )
107+
108+
109+ def test_empty_polygon ():
110+ empty = geometry .Polygon ()
111+ with pytest .raises (ValueError ):
112+ empty .is_point_in_y ([0.5 , 0.5 ])
113+ with pytest .raises (ValueError ):
114+ empty .is_point_in_x ([0.5 , 0.5 ])
115+ with pytest .raises (ValueError ):
116+ empty .centroid
87117
88118
89119def test_bounding_box_several_polygons (rectangle_b , quadrangle_a ):
0 commit comments