
    (&h                     d    d Z ddlZddlZddlZddlmZ ddlmZmZ  G d dej                  Z	dS )zTest GEOS predicates    N)geos_version)PointPolygonc                   &    e Zd Zd Zd Zd Zd ZdS )PredicatesTestCasec                    t          dd          }t          dd          }|                    t          dd                    sJ |                    t          dd                    rJ |                    t          dd                    rJ |                    t          dd                    rJ |                    t          dd                    rJ |                    t          dd                    rJ |                    t          dd                    rJ |                    t          dd                    sJ |                    t          dd                    sJ |                    t          dd                    sJ |                    |          rJ |                    |          rJ |                    t          dd                    rJ d S )N        g       @g      )	r   disjointtouchescrosseswithincontainsequalscovers
covered_by)selfpointpoint2s      _/var/www/html/reinick/venv/lib/python3.11/site-packages/shapely/tests/legacy/test_predicates.pytest_binary_predicatesz)PredicatesTestCase.test_binary_predicates   s   c3sC~~eD$//00000==tT!2!233333==tT!2!233333<<dD 1 122222>>%d"3"344444<<dD 1 122222==tT!2!233333||E#sOO,,,,,||E#sOO,,,,,c300000##F+++++$$U+++++<<dD 1 12222222    c                     t          dd          }|j        rJ |j        sJ |j        sJ |j        rJ |j        rJ d S )Nr	   )r   is_emptyis_valid	is_simpleis_ringhas_z)r   r   s     r   test_unary_predicatesz(PredicatesTestCase.test_unary_predicates   s[    c3>!!!~=   ;r   c                 V   g d}g d}t          |          }t          |          }|j        rJ |j        rJ t          dk     rNt          j        t
          j                  5  |                    |           d d d            d S # 1 swxY w Y   d S |                    |          rJ d S )N)
S  Z  )  r"   )  7  )iT    )r$      )     )r!     )r(   }  )     r    )r!   r-   )r(   r%   )r,      )r$   r)   )r#   r&   )r#   r*   )r$   r+   )  r%   )i  r)   )r0   r'   )r$   i  r.   )      r   )r   r   r   pytestraisesshapelyGEOSExceptionr   )r   p1p2g1g2s        r    test_binary_predicate_exceptionsz3PredicatesTestCase.test_binary_predicate_exceptions(   s   
 
 

 
 
 R[[R[[;;*$$w455  		"                  yy}}$$$$$s   "BB	B	c                    t          g d          }t          g d          }t          dd          }|                    |          dk    sJ |                    |d          sJ |                    |d          sJ |                    |d          sJ |                    |d          sJ |                    |d          rJ |                    |d	          rJ |                    |d
          sJ t	          j        t          j        d          5  |                    |d           d d d            d S # 1 swxY w Y   d S )N)r   r   )r      )r1   r>   )r1   r   r=   )r>   )r>      )rA   rA   )rA   r@   r?      	212101212z	*********z	2********z	T********	112101212z	1********	FF2FF10F2IllegalArgumentException)matchfail)r   r   relaterelate_patternr3   r4   r5   r6   )r   r9   r:   g3s       r   test_relate_patternz&PredicatesTestCase.test_relate_patternN   s   ===>>@@@AA1a[[yy}}++++  [11111  [11111  [11111  [11111$$R55555$$R55555  [11111 ]708RSSS 	* 	*b&)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   D::D>D>N)__name__
__module____qualname__r   r   r;   rL    r   r   r   r      sQ        3 3 3$  $% $% $%L* * * * *r   r   )
__doc__unittestr3   r5   r   shapely.geometryr   r   TestCaser   rP   r   r   <module>rU      s                     + + + + + + + +S* S* S* S* S** S* S* S* S* S*r   