o
    Jf.                     @   s  d dl Zd dlZd dlZd dlmZmZmZmZmZ d dl	m
Z
mZmZ ejde
e dd Zejdedd	gedd
gfedd	geddgfedd	ged	dgfedd	geg dfedd	geg dfed	dgddggeddgd	dggfgdd Ze ~ eddejfgeddejfgfedejejfgedejejfgfeejdfdgeejdfdgfed ejfdged ejfdgfeejejfejejfgeejejfejejfgfedddejfgedddejfgfgZW d   n	1 sw   Y  ejdedd Ze 8 ed dejfddejfged dejfddejfgfed dejfdged dejfdgfgZW d   n	1 sZw   Y  ejdedd Ze D ed ejfdgeddgfeddejfgeddgfed dejfdgeddgfedddejfgeddgfgZW d   n	1 sw   Y  ejdedd Zdd  Zd!d" Zd#d$ Zd%d& Zejde
d'd( Zd)d* ZdS )+    N)
LinearRing
LineStringMultiLineStringPointPolygon)	all_typesall_types_zignore_invalidgeomc                 C   s<   | | ksJ t j| dd dd}| |ksJ | |krJ d S )Nc                 S   s   | S N )xr   r   p/home/deployuser/azure_apps/autowriter/venv/lib/python3.10/site-packages/shapely/tests/geometry/test_equality.py<lambda>   s    ztest_equality.<locals>.<lambda>T)	include_z)shapely	transform)r
   transformedr   r   r   test_equality	   s   r   zleft, rightr   r      r   )r      )r   g    ?)r   r   r   )r   )      ?r   r   )r   r   )   r   c                 C      | |ksJ d S r   r   leftrightr   r   r   test_equality_false   s   r   r   r   r   r   )r   r   )r   r   r   r   c                 C   s   | |krJ | |ksJ d S r   r   r   r   r   r   test_equality_with_nanE   s   r!   r   r      c                 C   s6   t jdk r| |ksJ | |krJ d S | |ksJ d S )Nr      r   )r   geos_versionr   r   r   r   test_equality_with_nan_z[   s   
r'   c                 C   r   r   r   r   r   r   r   test_equality_with_nan_falseo   s   r(   c                  C   s   t    tddtjfddtjfg} tddtjfdg}W d    n1 s&w   Y  tjdk r8| |ks6J d S tjdk rE| |ksCJ d S | |ksKJ d S )Nr   r   r   r   r"   r   
   r   r$   )r	   r   npnanr   r&   r   r   r   r   test_equality_with_nan_z_falset   s   

r-   c                  C   st   t dd} t ddd}| |ksJ t ddtj}tjdk r%| |ks#J d S tjdk r2| |ks0J d S | |ks8J d S )Nr   r   r)   r$   )r   r+   r,   r   r&   geom1geom2r   r   r   test_equality_z   s   


r1   c                  C   sl   t g d} tg d}tg d}| |ksJ | |ksJ ||ks$J td} td}| |ks4J d S )N)r   r   r    r   zPOINT EMPTYzLINESTRING EMPTY)r   r   r   r   from_wkt)r/   r0   geom3r   r   r   test_equality_exact_type   s   

r4   c                  C   sd   t d} t d}| |ksJ t d} t d}| |ks J t d} t d}| |ks0J d S )Nz'POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0))z'POLYGON ((0 0, 10 0, 10 10, 0 15, 0 0))z=POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0), (1 1, 2 1, 2 2, 1 1))zSPOLYGON ((0 0, 10 0, 10 10, 0 10, 0 0), (1 1, 2 1, 2 2, 1 1), (3 3, 4 3, 4 4, 3 3))zSPOLYGON ((0 0, 10 0, 10 10, 0 10, 0 0), (3 3, 4 3, 4 4, 3 3), (1 1, 2 1, 2 2, 1 1)))r   r2   r.   r   r   r   test_equality_polygon   s"   

r5   c                 C   s   |  dtu s	J tj| | gtd}|| k}t|tjsJ | s$J | |k}t|tjs0J | s6J || k}t|tjsBJ | rHJ | |k}t|tjsTJ | rZJ d S )Nr   )dtype)	__eq__NotImplementedr+   arrayobject
isinstancendarrayallany)r
   arrresultr   r   r   test_comparison_notimplemented   s   rA   c                  C   s   t dd} t dd}tjtdd | |k W d    n1 s w   Y  tjtdd | |k  W d    n1 s;w   Y  tjtdd | |k W d    n1 sVw   Y  tjtdd | |k W d    d S 1 srw   Y  d S )Nr   r   znot supported between instances)match)r   pytestraises	TypeErrorr.   r   r   r   test_comparison_not_supported   s   





"rF   )numpyr+   rC   r   r   r   r   r   r   shapely.tests.commonr   r   r	   markparametrizer   r   r,   cases1r!   cases2r'   cases3r(   r-   r1   r4   r5   rA   rF   r   r   r   r   <module>   s    

"""


	

