o
    JÉf’  ã                   @   sN   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„ dejƒZ	dS )zTest GEOS predicates
é    N)Úgeos_version)ÚPointÚPolygonc                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚPredicatesTestCasec                 C   s  t ddƒ}t ddƒ}| t ddƒ¡sJ ‚| t ddƒ¡rJ ‚| t ddƒ¡r(J ‚| t ddƒ¡r2J ‚| t ddƒ¡r<J ‚| t ddƒ¡rFJ ‚| t ddƒ¡rPJ ‚| t ddƒ¡sZJ ‚| t ddƒ¡sdJ ‚| t ddƒ¡snJ ‚| |¡ruJ ‚| |¡r|J ‚| t ddƒ¡r†J ‚d S )Nç        g       @g      ð¿)	r   ÚdisjointÚtouchesÚcrossesÚwithinÚcontainsÚequalsÚcoversÚ
covered_by)ÚselfÚpointÚpoint2© r   úp/home/deployuser/azure_apps/autowriter/venv/lib/python3.10/site-packages/shapely/tests/legacy/test_predicates.pyÚtest_binary_predicates   s   

z)PredicatesTestCase.test_binary_predicatesc                 C   s@   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   r   r   r   Útest_unary_predicates    s   




z(PredicatesTestCase.test_unary_predicatesc                 C   sŠ   g d¢}g d¢}t |ƒ}t |ƒ}|jrJ ‚|jrJ ‚tdk r<t tj¡ | |¡ W d   ƒ d S 1 s5w   Y  d S | |¡rCJ ‚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$   )r+   r"   )r   iÂ  r)   )é   é   r   )r   r   r   ÚpytestÚraisesÚshapelyÚGEOSExceptionr
   )r   Úp1Úp2Úg1Úg2r   r   r   Ú test_binary_predicate_exceptions*   s   

"ÿz3PredicatesTestCase.test_binary_predicate_exceptionsc                 C   sæ   t g d¢ƒ}t g d¢ƒ}tddƒ}| |¡dksJ ‚| |d¡s"J ‚| |d¡s*J ‚| |d¡s2J ‚| |d¡s:J ‚| |d¡rBJ ‚| |d	¡rJJ ‚| |d
¡sRJ ‚tjtjdd | |d¡ W d   ƒ d S 1 slw   Y  d S )N)©r   r   )r   é   )r,   r8   )r,   r   r7   )©r8   éÿÿÿÿ)r8   é   )r;   r;   )r;   r:   r9   é   Ú	212101212z	*********z	2********z	T********Ú	112101212z	1********Ú	FF2FF10F2ÚIllegalArgumentException)ÚmatchÚfail)r   r   ÚrelateÚrelate_patternr.   r/   r0   r1   )r   r4   r5   Úg3r   r   r   Útest_relate_patternQ   s   
"ÿz&PredicatesTestCase.test_relate_patternN)Ú__name__Ú
__module__Ú__qualname__r   r   r6   rF   r   r   r   r   r      s
    
'r   )
Ú__doc__Úunittestr.   r0   r   Úshapely.geometryr   r   ÚTestCaser   r   r   r   r   Ú<module>   s    