o
    j                     @   s   d dl Z d dlZd dlmZ d dlmZmZ d dlmZm	Z	 ej
dededgdd	 ZG d
d de jZdd Zdd ZdS )    N)geometry)BufferCapStyleBufferJoinStyle)	CAP_STYLE
JOIN_STYLEdistancenaninfc                 C   sJ   t dd}tjtdd ||  W d    d S 1 sw   Y  d S )Nr   zdistance must be finitematch)r   PointpytestZraises
ValueErrorbuffer)r   g r   a/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/shapely/tests/legacy/test_buffer.pytest_non_finite_distance
   s   "r   c                   @   sh   e Zd 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d Zdd Zdd ZdS )BufferTestszCTest Buffer Point/Line/Polygon with and without single_sided paramsc                 C   s$   t dd}|d}|jsJ d S )Nr   )r   r   r   Zis_emptyselfr   hr   r   r   
test_empty   s   
zBufferTests.test_emptyc                 C   s   t dd}|jddd}|jdksJ g d}t|jjD ]"\}}|d t|| d ks1J |d t|| d ks@J qd S )Nr      	quad_segsPolygon      ?        r         )r"   r   )r   r   r   	r   r   r   	geom_type	enumerateexteriorcoordsr   approxr   r   r   Zexpected_coordindexZcoordr   r   r   
test_point   s    zBufferTests.test_pointc                 C   s   t dd}|jdddd}|jdksJ g d}t|jjD ]"\}}|d t|| d ks2J |d t|| d ksAJ qd S )Nr   r   Tr   Zsingle_sidedr   r   r#   r)   r   r   r   test_point_single_sidedd"   s    z$BufferTests.test_point_single_sideddc                 C   s   t ddgddgg}|jddd}|jdksJ g d}t|jjD ]"\}}|d t|| d ks6J |d t|| d ksEJ q#d S )Nr   r   r   r   )r"   r   )r          @r   r   r   r!   r"   r    r.   	r   
LineStringr   r$   r%   r&   r'   r   r(   r)   r   r   r   	test_line+   s   	 zBufferTests.test_linec                 C   s   t ddgddgg}|jdddd}|jdksJ g d}t|jjD ]"\}}|d t|| d ks7J |d t|| d ksFJ q$d S )Nr   r   Tr,   r   )r    r   r    r    r1   r.   r5   r2   r)   r   r   r   test_line_single_sideded_left<       z)BufferTests.test_line_single_sideded_leftc                 C   s   t ddgddgg}|jdddd}|jdksJ g d}t|jjD ]"\}}|d t|| d ks7J |d t|| d ksFJ q$d S )Nr   r   Tr,   r   )r6   r5   r0   r   r6   r2   r)   r   r   r   test_line_single_sideded_rightE   r8   z*BufferTests.test_line_single_sideded_rightc                 C   s   t ddgddgddgddgddgg}|jddd}|jdks"J g d}t|jjD ]"\}}|d t|| d ks?J |d t|| d ksNJ q,d S )Nr   r   r   r   	r1   r.   )r    r/   )r   r/   )r/   r   )r/   r    )r   r"   )r    r"   r1   	r   r   r   r$   r%   r&   r'   r   r(   r)   r   r   r   test_polygonN   s   ( zBufferTests.test_polygonc                 C   s   t ddgddgddgddgddgg}|jdddd}|jdks#J g d}t|jjD ]"\}}|d t|| d ks@J |d t|| d ksOJ q-d S )Nr   r   Tr,   r   r;   r<   r)   r   r   r   test_polygon_single_sidededa   s   ( z'BufferTests.test_polygon_single_sidededc                 C   s   t jdksJ t jtjksJ t jdksJ t jtjksJ t jdks%J t jtjks-J tjdks4J tjtjks<J tjdksCJ tjtjksKJ tjdksRJ tjtjksZJ d S )Nr         )	r   roundr   flatsquarer   r   mitrebevel)r   r   r   r   test_enum_valuest   s   zBufferTests.test_enum_valuesc                 C      t ddgddgg}|jdtjd}||jdtjdksJ ||jdddks*J |jdtjd}||jdtjdks>J ||jdddksIJ |jdtjd}||jdtjdks]J ||jdddkshJ d S )Nr   r   )Z	cap_stylerA   rB   rC   )r   r3   r   r   rA   r   rB   rC   r   r   r   r   test_cap_style      zBufferTests.test_cap_stylec                 C   rG   )Nr   r   )Z
join_stylerA   rD   rE   )r   r3   r   r   rA   r   rD   rE   r   r   r   r   test_buffer_style   rI   zBufferTests.test_buffer_styleN)__name__
__module____qualname____doc__r   r+   r-   r4   r7   r:   r=   r>   rF   rH   rJ   r   r   r   r   r      s    				r   c                  C   sd   t dd} tt | jddd}W d    n1 sw   Y  | jddd}||s0J d S )Nr   r   )Zquadsegsr   )r   r   r   ZwarnsFutureWarningr   equalspointresultexpectedr   r   r   test_deprecated_quadsegs   s   rU   c                  C   sf   t dd} tjdd | jddd}W d    n1 sw   Y  | jddd}||s1J d S )Nr   zUse 'quad_segs' insteadr
   r   )
resolutionr   )r   r   r   Zdeprecated_callr   rP   rQ   r   r   r   test_deprecated_resolution   s   rW   )Zunittestr   Zshapelyr   Zshapely.constructiver   r   Zshapely.geometry.baser   r   markZparametrizefloatr   ZTestCaser   rU   rW   r   r   r   r   <module>   s    
 