o
    Îj‘
  ã                   @   sP   d dl Z d dlZd dlmZ d dlmZ G dd„ de jƒZG dd„ de jƒZdS )é    N)Úgeometry)Ú	transformc                   @   sJ   e Zd ZdZddd„Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dS )ÚIdentityTestCaseú<New geometry/coordseq method 'xy' makes numpy interop easierNc                 C   s   t dd„ |||fD ƒƒS )Nc                 s   s    | ]}|r|V  qd S ©N© )Ú.0Úcr   r   úd/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/shapely/tests/legacy/test_transform.pyÚ	<genexpr>   s   € z(IdentityTestCase.func.<locals>.<genexpr>)Útuple)ÚselfÚxÚyÚzr   r   r
   Úfunc   s   zIdentityTestCase.funcc                 C   s"   t  ¡ }t| j|ƒ}|jsJ ‚d S r   )r   ÚPointr   r   Zis_empty©r   ÚgÚhr   r   r
   Ú
test_empty   s   zIdentityTestCase.test_emptyc                 C   s>   t  dd¡}t| j|ƒ}|jdksJ ‚t|jƒdgksJ ‚d S )Nr   é   r   ©r   r   )r   r   r   r   Ú	geom_typeÚlistÚcoordsr   r   r   r
   Ú
test_point   s   zIdentityTestCase.test_pointc                 C   sB   t  ddg¡}t| j|ƒ}|jdksJ ‚t|jƒddgksJ ‚d S )Nr   ©é   é   Ú
LineString)r   r    r   r   r   r   r   r   r   r   r
   Ú	test_line   ó   zIdentityTestCase.test_linec                 C   sB   t  g d¢¡}t| j|ƒ}|jdksJ ‚t|jƒg d¢ksJ ‚d S )N)r   r   )r   r   r   Ú
LinearRing)r   r#   r   r   r   r   r   r   r   r   r
   Útest_linearring    r"   z IdentityTestCase.test_linearringc                 C   sF   t  dd¡ d¡}t| j|ƒ}|jdksJ ‚|jt |j¡ks!J ‚d S )Nr   r   ç      ð?ÚPolygon)	r   r   Úbufferr   r   r   ÚareaÚpytestÚapproxr   r   r   r
   Útest_polygon&   s   zIdentityTestCase.test_polygonc                 C   sH   t  ddg¡ d¡}t| j|ƒ}|jdksJ ‚|jt |j¡ks"J ‚d S )Nr   ©r   é   r%   ÚMultiPolygon)	r   Ú
MultiPointr'   r   r   r   r(   r)   r*   r   r   r   r
   Útest_multipolygon,   s   z"IdentityTestCase.test_multipolygonr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r!   r$   r+   r0   r   r   r   r
   r   	   s    
r   c                   @   s0   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
S )ÚLambdaTestCaser   c                 C   sB   t  dd¡}tddd„|ƒ}|jdksJ ‚t|jƒdgksJ ‚d S )Nr   r   c                 S   ó   | d |d fS ©Nr%   r   ©r   r   r   r   r   r
   Ú<lambda>8   ó    z+LambdaTestCase.test_point.<locals>.<lambda>r   ©r%   ç       @r   )r   r   r   r   r   r   r   r   r   r
   r   6   s   zLambdaTestCase.test_pointc                 C   sF   t  ddg¡}tddd„|ƒ}|jdksJ ‚t|jƒddgks!J ‚d S )	Nr   r   c                 S   r6   r7   r   r8   r   r   r
   r9   >   r:   z*LambdaTestCase.test_line.<locals>.<lambda>r    r;   )g      @g      @r   )r   r    r   r   r   r   r   r   r   r
   r!   <   s   zLambdaTestCase.test_linec                 C   sv   t  dd¡ d¡}tddd„|ƒ}|jdksJ ‚|jt |j¡ks#J ‚|jj	t d¡ks.J ‚|jj
t d¡ks9J ‚d S )	Nr   r   r%   c                 S   r6   r7   r   r8   r   r   r
   r9   D   r:   z-LambdaTestCase.test_polygon.<locals>.<lambda>r&   r<   r   )r   r   r'   r   r   r(   r)   r*   Úcentroidr   r   r   r   r   r
   r+   B   s   zLambdaTestCase.test_polygonc                 C   sx   t  ddg¡ d¡}tddd„|ƒ}|jdksJ ‚|jt |j¡ks$J ‚|jj	t d¡ks/J ‚|jj
t d¡ks:J ‚d S )	Nr   r,   r%   c                 S   r6   r7   r   r8   r   r   r
   r9   L   r:   z2LambdaTestCase.test_multipolygon.<locals>.<lambda>r.   g      @r   )r   r/   r'   r   r   r(   r)   r*   r=   r   r   r   r   r   r
   r0   J   s   z LambdaTestCase.test_multipolygonN)r1   r2   r3   r4   r   r!   r+   r0   r   r   r   r
   r5   3   s    r5   )	Zunittestr)   Zshapelyr   Zshapely.opsr   ZTestCaser   r5   r   r   r   r
   Ú<module>   s    *