
    _ h                         d dl Z d dlZd dlZd dlmZmZmZ ej                  j                  d       G d de j                               Zej                  j                  d       G d de j                               Zy)    N)MultiPolygonPointboxzignore:The 'shapely.vectorized:c                   T    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zy)VectorizedContainsTestCasec           	         ddl m}  ||||      }t        j                  |      }t        j                  |      }| j	                  |t        j
                         | j                  |j                  t               |j                  }|j                  |j                  }}t        |j                        D ]+  }	||	   |j                  t        ||	   ||	               k(  r+J  |S )Nr   )contains)shapely.vectorizedr	   np
asanyarrayassertIsInstancendarrayassertEqualdtypeboolflatrangesizer   )
selfgeomxyr	   resultresult_flatx_flaty_flatidxs
             /home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/site-packages/shapely/tests/legacy/test_vectorized.pyassertContainsResultsz0VectorizedContainsTestCase.assertContainsResults   s    /$1%MM!MM!fbjj1t,kk = 	VCs#t}}U6#;s5T'UUUU	V    c                 x    t        dd      }|j                  d      j                  |j                  d            S )Nr      g      @)r   buffersymmetric_difference)r   points     r   construct_torusz*VectorizedContainsTestCase.construct_torus   s/    a||A33ELL4EFFr    c                     t         j                  ddd   t         j                  ddd   }}| j                  | j                         ||       y N
                 @   )r   mgridr   r&   r   r   r   s      r   test_contains_polyz-VectorizedContainsTestCase.test_contains_poly"   sD    xxBr	"BHHR2X$61""4#7#7#91a@r    c                     t         j                  ddd   t         j                  ddd   }}| j                  t        |d   |d         ||       y Nr)   r*   r+   r,   r-   r   r   r.   r   r   r/   s      r   test_contains_pointz.VectorizedContainsTestCase.test_contains_point&   J    xxBr	"BHHR2X$61""51qt#4a;r    c                     t         j                  ddd   t         j                  ddd   }}| j                  t        |d   |d         ||       y r2   r3   r/   s      r   test_contains_linestringz3VectorizedContainsTestCase.test_contains_linestring*   r5   r    c                     t         j                  ddd   t         j                  ddd   }}t        dddd      }| j                         j	                  |      }t        |t              sJ | j                  |||       y )Nr)   r*   r+   r,   r-   g      )r   r.   r   r&   
difference
isinstancer   r   )r   r   r   cut_polyr   s        r   test_contains_multipolyz2VectorizedContainsTestCase.test_contains_multipoly.   st    xxBr	"BHHR2X$61r3b)##%00:$---""4A.r    c                     t         j                  ddddddf   \  }}|j                  d      }| j                  | j	                         ||       y Nr)   r*   r+   r,   r-   fr   r.   copyr   r&   r/   s      r   test_y_array_orderz-VectorizedContainsTestCase.test_y_array_order6   M    xxBr	2b8+,1FF3K""4#7#7#91a@r    c                     t         j                  ddddddf   \  }}|j                  d      }| j                  | j	                         ||       y r?   rA   r/   s      r   test_x_array_orderz-VectorizedContainsTestCase.test_x_array_order;   rD   r    c                     t         j                  ddddddf   \  }}|j                  d      }|j                  d      }| j                  | j	                         ||      }|j
                  d   sJ y )Nr)   r*   r+   r,   r-   r@   F_CONTIGUOUS)r   r.   rB   r   r&   flagsr   r   r   r   s       r   test_xy_array_orderz.VectorizedContainsTestCase.test_xy_array_order@   sn    xxBr	2b8+,1FF3KFF3K++D,@,@,BAqI||N+++r    c                     t         j                  ddd   t         j                  ddd   }}|j                  t         j                        }| j	                  | j                         ||       y r(   )r   r.   astypeint16r   r&   r/   s      r   test_array_dtypez+VectorizedContainsTestCase.test_array_dtypeH   sV    xxBr	"BHHR2X$61HHRXX""4#7#7#91a@r    c                     t         j                  ddddddf   \  }}| j                  | j                         ||      }|j                  |j                  k(  sJ y )Nr)   r*   y              .@r,   r-   y              0@)r   r.   r   r&   shaperJ   s       r   test_array_2dz(VectorizedContainsTestCase.test_array_2dM   sX    xxBs
Br#I-.1++D,@,@,BAqI||qww&&&r    c                     t        dd      j                  d      } | j                  | j                         g|j                  j
                    y )Nr   g      $@)r   r#   r   r&   exteriorxy)r   gs     r   test_shapely_xy_attr_containsz8VectorizedContainsTestCase.test_shapely_xy_attr_containsR   s>    !QKt$"""4#7#7#9JAJJMMJr    N)__name__
__module____qualname__r   r&   r0   r4   r7   r=   rC   rF   rK   rO   rR   rW    r    r   r   r   	   sD    &GA<</A
A
,A
'
Kr    r   c                       e Zd Zd Zy)VectorizedTouchesTestCasec           	          ddl m} t        j                  ddddddf   \  }}t	        dddd      } ||||      }t        j
                  g d	g d
g dg dg d
g d	gt              }ddlm}  |||       y )Nr   )touches   y              @r9   r+      )FFFFF)FTTTF)FTFTF)r   )assert_array_equal)	r
   r_   r   r.   r   arrayr   numpy.testingrc   )r   r_   r   r   r   r   expectedrc   s           r   test_touchesz&VectorizedTouchesTestCase.test_touchesY   s    .xx1RAb()11b!Qq!$88301103 

 	568,r    N)rX   rY   rZ   rg   r[   r    r   r]   r]   W   s    -r    r]   )unittestnumpyr   pytestshapely.geometryr   r   r   markfilterwarningsTestCaser   r]   r[   r    r   <module>ro      s}       5 5 =>JK!2!2 JK ?JKZ =>- 1 1 - ?-r    