
    (&h                         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             Z G d	 d
e j                  Zd Zd ZdS )    N)geometry)BufferCapStyleBufferJoinStyle)	CAP_STYLE
JOIN_STYLEdistancenaninfc                     t          j        dd          }t          j        t          d          5  |                    |            d d d            d S # 1 swxY w Y   d S )Nr   zdistance must be finitematch)r   Pointpytestraises
ValueErrorbuffer)r   gs     [/var/www/html/reinick/venv/lib/python3.11/site-packages/shapely/tests/legacy/test_buffer.pytest_non_finite_distancer   
   s    q!A	z)B	C	C	C  	                 s   AAAc                   T    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd ZdS )BufferTestszCTest Buffer Point/Line/Polygon with and without single_sided paramsc                 l    t          j        dd          }|                    d          }|j        sJ d S )Nr   )r   r   r   is_emptyselfr   hs      r   
test_emptyzBufferTests.test_empty   s6    N1a  HHQKKz    c                 n   t          j        dd          }|                    dd          }|j        dk    sJ g d}t	          |j        j                  D ]]\  }}|d         t          j        ||         d                   k    sJ |d         t          j        ||         d                   k    sJ ^d S )Nr      	quad_segsPolygon      ?        r         )r)   r   )r   r&   r%   	r   r   r   	geom_type	enumerateexteriorcoordsr   approxr   r   r   expected_coordindexcoords         r   
test_pointzBufferTests.test_point   s    N1a  HHQ!H$${i''''QQQ%aj&788 	G 	GLE58v}^E-B1-EFFFFFF8v}^E-B1-EFFFFFFF	G 	Gr   c                 p   t          j        dd          }|                    ddd          }|j        dk    sJ g d}t	          |j        j                  D ]]\  }}|d         t          j        ||         d                   k    sJ |d         t          j        ||         d                   k    sJ ^d S )Nr   r    Tr"   single_sidedr#   r$   r*   r0   s         r   test_point_single_sideddz$BufferTests.test_point_single_sidedd"   s    N1a  HHQ!$H77{i''''QQQ%aj&788 	G 	GLE58v}^E-B1-EFFFFFF8v}^E-B1-EFFFFFFF	G 	Gr   c                 x   t          j        ddgddgg          }|                    dd          }|j        dk    sJ g d}t	          |j        j                  D ]]\  }}|d         t          j        ||         d                   k    sJ |d         t          j        ||         d                   k    sJ ^d S )Nr   r    r!   r#   )r)   r&   )r          @r&   r&   r%   r(   r)   r'   r:   	r   
LineStringr   r+   r,   r-   r.   r   r/   r0   s         r   	test_linezBufferTests.test_line+   s    !Q!Q 011HHQ!H$${i''''
 
 
 &aj&788 	G 	GLE58v}^E-B1-EFFFFFF8v}^E-B1-EFFFFFFF	G 	Gr   c                 z   t          j        ddgddgg          }|                    ddd          }|j        dk    sJ g d}t	          |j        j                  D ]]\  }}|d         t          j        ||         d                   k    sJ |d         t          j        ||         d                   k    sJ ^d S )Nr   r    Tr6   r#   )r'   r&   r'   r'   r=   r:   rB   r>   r0   s         r   test_line_single_sideded_leftz)BufferTests.test_line_single_sideded_left<   s    !Q!Q 011HHQ!$H77{i''''WWW%aj&788 	G 	GLE58v}^E-B1-EFFFFFF8v}^E-B1-EFFFFFFF	G 	Gr   c                 z   t          j        ddgddgg          }|                    ddd          }|j        dk    sJ g d}t	          |j        j                  D ]]\  }}|d         t          j        ||         d                   k    sJ |d         t          j        ||         d                   k    sJ ^d S )Nr   r    Tr6   r#   )rC   rB   r<   r%   rC   r>   r0   s         r   test_line_single_sideded_rightz*BufferTests.test_line_single_sideded_rightE   s    !Q!Q 011HHR14H88{i''''UUU%aj&788 	G 	GLE58v}^E-B1-EFFFFFF8v}^E-B1-EFFFFFFF	G 	Gr   c                    t          j        ddgddgddgddgddgg          }|                    dd          }|j        dk    sJ g d}t	          |j        j                  D ]]\  }}|d         t          j        ||         d                   k    sJ |d         t          j        ||         d                   k    sJ ^d S )Nr   r    r!   r#   	r=   r:   )r'   r;   )r&   r;   )r;   r&   )r;   r'   )r&   r)   )r'   r)   r=   	r   r#   r   r+   r,   r-   r.   r   r/   r0   s         r   test_polygonzBufferTests.test_polygonN   s    q!fq!fq!fq!fq!fEFFHHQ!H$${i''''

 

 

 &aj&788 	G 	GLE58v}^E-B1-EFFFFFF8v}^E-B1-EFFFFFFF	G 	Gr   c                    t          j        ddgddgddgddgddgg          }|                    ddd          }|j        dk    sJ g d}t	          |j        j                  D ]]\  }}|d         t          j        ||         d                   k    sJ |d         t          j        ||         d                   k    sJ ^d S )Nr   r    Tr6   r#   rI   rJ   r0   s         r   test_polygon_single_sidededz'BufferTests.test_polygon_single_sidededa   s    q!fq!fq!fq!fq!fEFFHHQ!$H77{i''''

 

 

 &aj&788 	G 	GLE58v}^E-B1-EFFFFFF8v}^E-B1-EFFFFFFF	G 	Gr   c                 .   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    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 d S )Nr          )	r   roundr   flatsquarer   r   mitrebevel)r   s    r   test_enum_valueszBufferTests.test_enum_valuest   s   !####."66666~""""~!444441$$$$>#888881$$$$?#888881$$$$?#888881$$$$?#8888888r   c                    t          j        ddgddgg          }|                    dt          j                  }||                    dt
          j                  k    sJ ||                    dd          k    sJ |                    dt          j                  }||                    dt
          j                  k    sJ ||                    dd          k    sJ |                    dt          j                  }||                    dt
          j                  k    sJ ||                    dd          k    sJ d S )Nr   r    )	cap_stylerQ   rR   rS   )r   r?   r   r   rQ   r   rR   rS   r   s      r   test_cap_stylezBufferTests.test_cap_style   s:   !Q!Q 011HHQ."6H77AHHQ)/H::::::AHHQ'H222222HHQ."5H66AHHQ).H999999AHHQ&H111111HHQ."7H88AHHQ)*:H;;;;;;AHHQ(H33333333r   c                    t          j        ddgddgg          }|                    dt          j                  }||                    dt
          j                  k    sJ ||                    dd          k    sJ |                    dt          j                  }||                    dt
          j                  k    sJ ||                    dd          k    sJ |                    dt          j                  }||                    dt
          j                  k    sJ ||                    dd          k    sJ d S )Nr   r    )
join_stylerQ   rT   rU   )r   r?   r   r   rQ   r   rT   rU   r   s      r   test_buffer_stylezBufferTests.test_buffer_style   s<   !Q!Q 011HHQ?#8H99AHHQ:+;H<<<<<<AHHQ7H333333HHQ?#8H99AHHQ:+;H<<<<<<AHHQ7H333333HHQ?#8H99AHHQ:+;H<<<<<<AHHQ7H33333333r   N)__name__
__module____qualname____doc__r   r4   r8   r@   rD   rG   rK   rM   rV   rY   r\    r   r   r   r      s        MM  
G G GG G GG G G"G G GG G GG G G&G G G&9 9 94 4 44 4 4 4 4r   r   c                     t          j        dd          } t          j        t                    5  |                     dd          }d d d            n# 1 swxY w Y   |                     dd          }|                    |          sJ d S )Nr   r    )quadsegsr!   )r   r   r   warnsFutureWarningr   equalspointresultexpecteds      r   test_deprecated_quadsegsrk      s    N1a  E	m	$	$ - -a!,,- - - - - - - - - - - - - - -||A|++H=="""""""s   AAAc                     t          j        dd          } t          j        d          5  |                     dd          }d d d            n# 1 swxY w Y   |                     dd          }|                    |          sJ d S )Nr   zUse 'quad_segs' insteadr   r    )
resolutionr!   )r   r   r   deprecated_callr   rf   rg   s      r   test_deprecated_resolutionro      s    N1a  E		&?	@	@	@ / /aA../ / / / / / / / / / / / / / /||A|++H=="""""""s   AAA)unittestr   shapelyr   shapely.constructiver   r   shapely.geometry.baser   r   markparametrizefloatr   TestCaser   rk   ro   ra   r   r   <module>rx      s            @ @ @ @ @ @ @ @ 7 7 7 7 7 7 7 7 eeEllEE%LL%ABB  CBL4 L4 L4 L4 L4(# L4 L4 L4^# # ## # # # #r   