
    _ h                     v    d dl Z d dlm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)assert_array_equal)GeometryCollection
LinearRing
LineStringMultiLineString
MultiPointMultiPolygonPointPolygon)orientc                   H    e Zd Zd 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     |/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/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                 8    t               }t        |      |k(  sJ y )N)r   r   )r   polygons     r   test_empty_polygonz!OrientTestCase.test_empty_polygon,   s    )g')))r   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   r+   polygon_reverseds      r   test_polygonzOrientTestCase.test_polygon0   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   )r4   r   r   r   )r   r/   r0   r	   is_ccwr   )r   polygon1polygon2polygon1_reversedpolygon2_reversedmultipolygons         r   test_multipolygonz OrientTestCase.test_multipolygon6   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/   r0   r   r   )r   r+   r1   
collections       r   test_geometrycollectionz&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                    t        g d      }t        g d      }t        g d      }t        g d      }t        |||||g      }t        |||j                         ||j                         g      }t        t	        |d      |       t        t	        |d      |j                                t        t	        |d      |       t        t	        |d      |j                                y )N)r   r#   r   r   )r   )r      )r@   r@   r   )r   r   r#   r   )r   )r4   r4   )r   r4   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_holesz&OrientTestCase.test_polygon_with_holesH   s    =>>?>??@	#*w	8X>$
  ")w	 1 1 3Xx?O?O?QR"
 	6"8!<>TU)2.0F0N0N0P	
 	6":A>@VW+R02H2P2P2R	
r   N)__name__
__module____qualname__r   r   r    r%   r)   r,   r2   r;   r>   rH    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   rL   r   r   <module>rR      s3     ,	 	 	 J
X&& J
r   