
    (&h                         d dl Z d dlZd dlZd dlmZmZmZ ej        	                    d           G d de j
                              Zej        	                    d           G d de j
                              ZdS )    N)MultiPolygonPointboxzignore:The 'shapely.vectorized:c                   V    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dS )VectorizedContainsTestCasec           	         ddl m}  ||||          }t          j        |          }t          j        |          }|                     |t          j                   |                     |j        t                     |j	        }|j	        |j	        }}t          |j                  D ]=}	||	         |                    t          ||	         ||	                             k    s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
             _/var/www/html/reinick/venv/lib/python3.11/site-packages/shapely/tests/legacy/test_vectorized.pyassertContainsResultsz0VectorizedContainsTestCase.assertContainsResults   s    //////$1%%M!M!fbj111t,,,k == 	V 	VCs#t}}U6#;s5T5T'U'UUUUUU    c                     t          dd          }|                    d                              |                    d                    S )Nr      g      @)r   buffersymmetric_difference)r   points     r   construct_torusz*VectorizedContainsTestCase.construct_torus   s9    a||A33ELL4E4EFFFr    c                     t           j        ddd         t           j        ddd         }}|                     |                                 ||           d S N
                 @   )r   mgridr   r&   r   r   r   s      r   test_contains_polyz-VectorizedContainsTestCase.test_contains_poly"   sO    xBr	"BHR2X$61""4#7#7#9#91a@@@@@r    c                     t           j        ddd         t           j        ddd         }}|                     t          |d         |d                   ||           d S Nr)   r*   r+   r,   r-   r   r   r.   r   r   r/   s      r   test_contains_pointz.VectorizedContainsTestCase.test_contains_point&   U    xBr	"BHR2X$61""51qt#4#4a;;;;;r    c                     t           j        ddd         t           j        ddd         }}|                     t          |d         |d                   ||           d S 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          }|                                                     |          }t          |t                    sJ |                     |||           d S )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.   s    xBr	"BHR2X$61r3b))##%%00::$-----""4A.....r    c                     t           j        ddddddf         \  }}|                    d          }|                     |                                 ||           d S Nr)   r*   r+   r,   r-   fr   r.   copyr   r&   r/   s      r   test_y_array_orderz-VectorizedContainsTestCase.test_y_array_order6   \    xBr	2b8+,1FF3KK""4#7#7#9#91a@@@@@r    c                     t           j        ddddddf         \  }}|                    d          }|                     |                                 ||           d S 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         \  }}|                    d          }|                    d          }|                     |                                 ||          }|j        d         sJ d S )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@   s}    xBr	2b8+,1FF3KKFF3KK++D,@,@,B,BAqII|N++++++r    c                     t           j        ddd         t           j        ddd         }}|                    t           j                  }|                     |                                 ||           d S r(   )r   r.   astypeint16r   r&   r/   s      r   test_array_dtypez+VectorizedContainsTestCase.test_array_dtypeH   sb    xBr	"BHR2X$61HHRX""4#7#7#9#91a@@@@@r    c                     t           j        ddddddf         \  }}|                     |                                 ||          }|j        |j        k    sJ d S )Nr)   r*   y              .@r,   r-   y              0@)r   r.   r   r&   shaperJ   s       r   test_array_2dz(VectorizedContainsTestCase.test_array_2dM   sa    xBs
Br#I-.1++D,@,@,B,BAqII|qw&&&&&&r    c                     t          dd                              d          } | j        |                                 g|j        j        R   d S )Nr   g      $@)r   r#   r   r&   exteriorxy)r   gs     r   test_shapely_xy_attr_containsz8VectorizedContainsTestCase.test_shapely_xy_attr_containsR   sN    !QKKt$$""4#7#7#9#9JAJMJJJJJJr    N)__name__
__module____qualname__r   r&   r0   r4   r7   r=   rC   rF   rK   rO   rR   rW    r    r   r   r   	   s          &G G GA A A< < << < </ / /A A A
A A A
, , ,A A A
' ' '
K K K K Kr    r   c                       e Zd Zd ZdS )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}  |||           d S )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    ......x1RAb()11b!Qq!$$8333000111111000333 

 

 

 	544444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 5 5 5 5 5 5 5 5 =>>JK JK JK JK JK!2 JK JK ?>JKZ =>>- - - - - 1 - - ?>- - -r    