o
    JÉf`	  ã                   @   sR   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„ de jƒZdS )é    N)ÚGeometryCollectionÚ
LinearRingÚ
LineStringÚMultiLineStringÚ
MultiPointÚMultiPolygonÚPointÚPolygon)Úorientc                   @   sL   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dS )ÚOrientTestCasec                 C   s2   t ddƒ}t|dƒ|ksJ ‚t|dƒ|ksJ ‚d S )Nr   é   éÿÿÿÿ)r   r
   )ÚselfÚpoint© r   úl/home/deployuser/azure_apps/autowriter/venv/lib/python3.10/site-packages/shapely/tests/legacy/test_orient.pyÚ
test_point   s   
zOrientTestCase.test_pointc                 C   ó4   t ddgƒ}t|dƒ|ksJ ‚t|dƒ|ksJ ‚d S ©N©r   r   ©r   r   r   r   )r   r
   )r   Ú
multipointr   r   r   Útest_multipoint   ó   zOrientTestCase.test_multipointc                 C   r   r   )r   r
   )r   Ú
linestringr   r   r   Útest_linestring   r   zOrientTestCase.test_linestringc                 C   s<   t ddgddggƒ}t|dƒ|ksJ ‚t|dƒ|ksJ ‚d S )Nr   r   ©r   r   ©r   r   r   r   )r   r
   )r   Úmultilinestringr   r   r   Útest_multilinestring    s   z#OrientTestCase.test_multilinestringc                 C   s4   t g d¢ƒ}t|dƒ|ksJ ‚t|dƒ|ksJ ‚d S )N©r   r   r   r   r   )r   r
   )r   Ú
linearringr   r   r   Útest_linearring%   r   zOrientTestCase.test_linearringc                 C   sJ   t g d¢ƒ}t |jjd d d… ƒ}t|dƒ|ksJ ‚t|dƒ|ks#J ‚d S ©Nr    r   r   )r	   ÚexteriorÚcoordsr
   )r   ÚpolygonÚpolygon_reversedr   r   r   Útest_polygon*   s   zOrientTestCase.test_polygonc                 C   s    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s4J ‚t|dƒt||gƒksAJ ‚t|dƒt||gƒksNJ ‚d S )Nr    )r   )é   r   )r)   r   r   r   )r	   r$   r%   r   Úis_ccwr
   )r   Úpolygon1Úpolygon2Úpolygon1_reversedÚpolygon2_reversedÚmultipolygonr   r   r   Útest_multipolygon0   s   z OrientTestCase.test_multipolygonc                 C   s`   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 ‚d S r#   )r	   r$   r%   r   r
   )r   r&   r'   Ú
collectionr   r   r   Útest_geometrycollection;   s
   
z&OrientTestCase.test_geometrycollectionN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r"   r(   r0   r2   r   r   r   r   r      s    r   )ÚunittestÚshapely.geometryr   r   r   r   r   r   r   r	   Úshapely.opsr
   ÚTestCaser   r   r   r   r   Ú<module>   s    (
