
    Og`	                     j    d dl Z d dlmZmZmZmZmZmZmZm	Z	 d dl
mZ  G d de j                        Zy)    N)GeometryCollection
LinearRing
LineStringMultiLineString
MultiPointMultiPolygonPointPolygon)orientc                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
OrientTestCasec                 `    t        dd      }t        |d      |k(  sJ t        |d      |k(  sJ y )Nr      )r	   r   )selfpoints     e/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/shapely/tests/legacy/test_orient.py
test_pointzOrientTestCase.test_point   s7    aeQ5(((eR E)))    c                 b    t        ddg      }t        |d      |k(  sJ t        |d      |k(  sJ y Nr   r   r   r   r   r   )r   r   )r   
multipoints     r   test_multipointzOrientTestCase.test_multipoint   ;     01
j!$
222j"%333r   c                 b    t        ddg      }t        |d      |k(  sJ t        |d      |k(  sJ y r   )r   r   )r   
linestrings     r   test_linestringzOrientTestCase.test_linestring   r   r   c                 j    t        ddgddgg      }t        |d      |k(  sJ t        |d      |k(  sJ y )Nr   r   r   r   r   r   r   r   )r   r   )r   multilinestrings     r   test_multilinestringz#OrientTestCase.test_multilinestring    sE    )FF+;ff=M*NOoq)_<<<or*o===r   c                 b    t        g d      }t        |d      |k(  sJ t        |d      |k(  sJ y )Nr   r"   r!   r   r   )r   r   )r   
linearrings     r   test_linearringzOrientTestCase.test_linearring%   s7     89
j!$
222j"%333r   c                     t        g d      }t        |j                  j                  d d d         }t        |d      |k(  sJ t        |d      |k(  sJ y Nr&   r   r   )r
   exteriorcoordsr   )r   polygonpolygon_reverseds      r   test_polygonzOrientTestCase.test_polygon*   sX    23"7#3#3#:#:4R4#@Aw"'7777w#///r   c                    t        g d      }t        g d      }t        |j                  j                  d d d         }t        |j                  j                  d d d         }t        ||g      }|j                  j                  rJ |j                  j                  sJ t        |d      t        ||g      k(  sJ t        |d      t        ||g      k(  sJ y )Nr&   )r!   )   r   )r1   r   r   r   )r
   r+   r,   r   is_ccwr   )r   polygon1polygon2polygon1_reversedpolygon2_reversedmultipolygons         r   test_multipolygonz OrientTestCase.test_multipolygon0   s    3434#H$5$5$<$<TrT$BC#H$5$5$<$<TrT$BC#Xx$89$$++++  ''''lA&,8I87T*UUUUlB'<CT8U+VVVVr   c                     t        g d      }t        |j                  j                  d d d         }t        |g      }t	        |d      t        |g      k(  sJ t	        |d      t        |g      k(  sJ y r*   )r
   r+   r,   r   r   )r   r-   r.   
collections       r   test_geometrycollectionz&OrientTestCase.test_geometrycollection;   su    23"7#3#3#:#:4R4#@A'	2
j!$(:<L;M(NNNNj"%);WI)FFFFr   N)__name__
__module____qualname__r   r   r   r$   r(   r/   r8   r;    r   r   r   r      s,    *
4
4
>
4
0	WGr   r   )unittestshapely.geometryr   r   r   r   r   r   r	   r
   shapely.opsr   TestCaser   r?   r   r   <module>rD      s0    	 	 	 0GX&& 0Gr   