
    9i                     v    S SK r S SKJr  S SKJrJrJrJrJrJ	r	J
r
Jr  S SKJr   " S S\ R                  5      rg)    N)assert_array_equal)GeometryCollection
LinearRing
LineStringMultiLineString
MultiPointMultiPolygonPointPolygon)orientc                   P    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)OrientTestCase   c                 d    [        SS5      n[        US5      U:X  d   e[        US5      U:X  d   eg )Nr      )r
   r   )selfpoints     `/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/shapely/tests/legacy/test_orient.py
test_pointOrientTestCase.test_point   s7    aeQ5(((eR E)))    c                 f    [        SS/5      n[        US5      U:X  d   e[        US5      U:X  d   eg Nr   r   r   r   r   r   )r   r   )r   
multipoints     r   test_multipointOrientTestCase.test_multipoint   ;     01
j!$
222j"%333r   c                 f    [        SS/5      n[        US5      U:X  d   e[        US5      U:X  d   eg r   )r   r   )r   
linestrings     r   test_linestringOrientTestCase.test_linestring   r    r   c                 n    [        SS/SS//5      n[        US5      U:X  d   e[        US5      U:X  d   eg )Nr   r   r   r   r   r   r   r   )r   r   )r   multilinestrings     r   test_multilinestring#OrientTestCase.test_multilinestring"   sE    )FF+;ff=M*NOoq)_<<<or*o===r   c                 f    [        / SQ5      n[        US5      U:X  d   e[        US5      U:X  d   eg )Nr   r'   r&   r   r   )r   r   )r   
linearrings     r   test_linearringOrientTestCase.test_linearring'   s7     89
j!$
222j"%333r   c                 :    [        5       n[        U5      U:X  d   eg )N)r   r   )r   polygons     r   test_empty_polygon!OrientTestCase.test_empty_polygon,   s    )g')))r   c                     [        / SQ5      n[        UR                  R                  S S S2   5      n[        US5      U:X  d   e[        US5      U:X  d   eg Nr,   r   r   )r   exteriorcoordsr   )r   r1   polygon_reverseds      r   test_polygonOrientTestCase.test_polygon0   sX    23"7#3#3#:#:4R4#@Aw"'7777w#///r   c                    [        / SQ5      n[        / SQ5      n[        UR                  R                  S S S2   5      n[        UR                  R                  S S S2   5      n[        X/5      nUR                  R                  (       a   eUR                  R                  (       d   e[        US5      [        X2/5      :X  d   e[        US5      [        X/5      :X  d   eg )Nr,   )r&   )   r   )r<   r   r   r   )r   r6   r7   r	   is_ccwr   )r   polygon1polygon2polygon1_reversedpolygon2_reversedmultipolygons         r   test_multipolygon OrientTestCase.test_multipolygon6   s    3434#H$5$5$<$<TrT$BC#H$5$5$<$<TrT$BC#X$89$$++++  ''''lA&,8I7T*UUUUlB'<8U+VVVVr   c                     [        / SQ5      n[        UR                  R                  S S S2   5      n[        U/5      n[	        US5      [        U/5      :X  d   e[	        US5      [        U/5      :X  d   eg r5   )r   r6   r7   r   r   )r   r1   r8   
collections       r   test_geometrycollection&OrientTestCase.test_geometrycollectionA   su    23"7#3#3#:#:4R4#@A'	2
j!$(:<L;M(NNNNj"%);WI)FFFFr   c                    [        / SQ5      n[        / SQ5      n[        / SQ5      n[        / SQ5      n[        X1XBU/5      n[        X1UR                  5       X#R                  5       /5      n[        [	        US5      U5        [        [	        US5      UR                  5       5        [        [	        US5      U5        [        [	        US5      UR                  5       5        g )N)r   r'   r   r   )r   )r      )rJ   rJ   r   )r   r   r'   r   )r   )r<   r<   )r   r<   r   r   r   )r   r   reverser   r   )r   ring_cwring_cw2ring_ccw	ring_ccw2polygon_with_holes_mixedpolygon_with_holes_ccws          r   test_polygon_with_holes&OrientTestCase.test_polygon_with_holesH   s    =>>?>??@	#*	X>$
  ")	 1 1 3X?O?O?QR"
 	6"8!<>TU)2.0F0N0N0P	
 	6":A>@VW+R02H2P2P2R	
r    N)__name__
__module____qualname____firstlineno__r   r   r#   r)   r.   r2   r9   rC   rG   rR   __static_attributes__rT   r   r   r   r      s6    *
4
4
>
4
*0	WG
r   r   )unittestnumpy.testingr   shapely.geometryr   r   r   r   r   r	   r
   r   shapely.opsr   TestCaser   rT   r   r   <module>r_      s3     ,	 	 	 J
X&& J
r   