
    Ogy                         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                  j                  d ed       ed      g      d        Z G d	 d
e j                        Zd Zd Zy)    N)geometry)BufferCapStyleBufferJoinStyle)	CAP_STYLE
JOIN_STYLEdistancenaninfc                     t        j                  dd      }t        j                  t        d      5  |j                  |        d d d        y # 1 sw Y   y xY w)Nr   zdistance must be finite)match)r   Pointpytestraises
ValueErrorbuffer)r   gs     e/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/shapely/tests/legacy/test_buffer.pytest_non_finite_distancer   
   sB    q!A	z)B	C 	  s   AAc                   R    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y)BufferTestszCTest Buffer Point/Line/Polygon with and without single_sided paramsc                 n    t        j                  dd      }|j                  d      }|j                  sJ y )Nr   )r   r   r   is_emptyselfr   hs      r   
test_emptyzBufferTests.test_empty   s+    NN1a HHQKzzz    c                 Z   t        j                  dd      }|j                  dd      }|j                  dk(  sJ g d}t	        |j
                  j                        D ]K  \  }}|d   t        j                  ||   d         k(  sJ |d   t        j                  ||   d         k(  rKJ  y )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    NN1a HHQ!H${{i'''Q%ajj&7&78 	GLE58v}}^E-B1-EFFFF8v}}^E-B1-EFFFF	Gr   c                 \   t        j                  dd      }|j                  ddd      }|j                  dk(  sJ g d}t	        |j
                  j                        D ]K  \  }}|d   t        j                  ||   d         k(  sJ |d   t        j                  ||   d         k(  rKJ  y )Nr   r   Tr!   single_sidedr"   r#   r)   r/   s         r   test_point_single_sideddz$BufferTests.test_point_single_sidedd"   s    NN1a HHQ!$H7{{i'''Q%ajj&7&78 	GLE58v}}^E-B1-EFFFF8v}}^E-B1-EFFFF	Gr   c                 d   t        j                  ddgddgg      }|j                  dd      }|j                  dk(  sJ g d}t	        |j
                  j                        D ]K  \  }}|d   t        j                  ||   d         k(  sJ |d   t        j                  ||   d         k(  rKJ  y )Nr   r   r    r"   )r(   r%   )r          @r%   r%   r$   r'   r(   r&   r9   	r   
LineStringr   r*   r+   r,   r-   r   r.   r/   s         r   	test_linezBufferTests.test_line+   s    !Q!Q 01HHQ!H${{i'''
 &ajj&7&78 	GLE58v}}^E-B1-EFFFF8v}}^E-B1-EFFFF	Gr   c                 f   t        j                  ddgddgg      }|j                  ddd      }|j                  dk(  sJ g d}t	        |j
                  j                        D ]K  \  }}|d   t        j                  ||   d         k(  sJ |d   t        j                  ||   d         k(  rKJ  y )Nr   r   Tr5   r"   )r&   r%   r&   r&   r<   r9   rA   r=   r/   s         r   test_line_single_sideded_leftz)BufferTests.test_line_single_sideded_left<   s    !Q!Q 01HHQ!$H7{{i'''W%ajj&7&78 	GLE58v}}^E-B1-EFFFF8v}}^E-B1-EFFFF	Gr   c                 f   t        j                  ddgddgg      }|j                  ddd      }|j                  dk(  sJ g d}t	        |j
                  j                        D ]K  \  }}|d   t        j                  ||   d         k(  sJ |d   t        j                  ||   d         k(  rKJ  y )Nr   r   Tr5   r"   )rB   rA   r;   r$   rB   r=   r/   s         r   test_line_single_sideded_rightz*BufferTests.test_line_single_sideded_rightE   s    !Q!Q 01HHR14H8{{i'''U%ajj&7&78 	GLE58v}}^E-B1-EFFFF8v}}^E-B1-EFFFF	Gr   c                 v   t        j                  ddgddgddgddgddgg      }|j                  dd      }|j                  dk(  sJ g d}t	        |j
                  j                        D ]K  \  }}|d   t        j                  ||   d         k(  sJ |d   t        j                  ||   d         k(  rKJ  y )Nr   r   r    r"   	r<   r9   )r&   r:   )r%   r:   )r:   r%   )r:   r&   )r%   r(   )r&   r(   r<   	r   r"   r   r*   r+   r,   r-   r   r.   r/   s         r   test_polygonzBufferTests.test_polygonN   s    q!fq!fq!fq!fq!fEFHHQ!H${{i'''

 &ajj&7&78 	GLE58v}}^E-B1-EFFFF8v}}^E-B1-EFFFF	Gr   c                 x   t        j                  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 ]K  \  }}|d   t        j                  ||   d         k(  sJ |d   t        j                  ||   d         k(  rKJ  y )Nr   r   Tr5   r"   rH   rI   r/   s         r   test_polygon_single_sidededz'BufferTests.test_polygon_single_sidededa   s    q!fq!fq!fq!fq!fEFHHQ!$H7{{i'''

 &ajj&7&78 	GLE58v}}^E-B1-EFFFF8v}}^E-B1-EFFFF	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 y )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8r   c                 t   t        j                  ddgddgg      }|j                  dt        j                        }||j                  dt
        j                        k(  sJ ||j                  dd      k(  sJ |j                  dt        j                        }||j                  dt
        j                        k(  sJ ||j                  dd      k(  sJ |j                  dt        j                        }||j                  dt
        j                        k(  sJ ||j                  dd      k(  sJ y )Nr   r   )	cap_stylerP   rQ   rR   )r   r>   r   r   rP   r   rQ   rR   r   s      r   test_cap_stylezBufferTests.test_cap_style   s   !Q!Q 01HHQ."6"6H7AHHQ)//H::::AHHQ'H2222HHQ."5"5H6AHHQ)..H9999AHHQ&H1111HHQ."7"7H8AHHQ)*:*:H;;;;AHHQ(H3333r   c                 t   t        j                  ddgddgg      }|j                  dt        j                        }||j                  dt
        j                        k(  sJ ||j                  dd      k(  sJ |j                  dt        j                        }||j                  dt
        j                        k(  sJ ||j                  dd      k(  sJ |j                  dt        j                        }||j                  dt
        j                        k(  sJ ||j                  dd      k(  sJ y )Nr   r   )
join_stylerP   rS   rT   )r   r>   r   r   rP   r   rS   rT   r   s      r   test_buffer_stylezBufferTests.test_buffer_style   s   !Q!Q 01HHQ?#8#8H9AHHQ:+;+;H<<<<AHHQ7H3333HHQ?#8#8H9AHHQ:+;+;H<<<<AHHQ7H3333HHQ?#8#8H9AHHQ:+;+;H<<<<AHHQ7H3333r   N)__name__
__module____qualname____doc__r   r3   r7   r?   rC   rF   rJ   rL   rU   rX   r[    r   r   r   r      sC    M
GGG"GGG&G&944r   r   c                      t        j                  dd      } t        j                  t              5  | j                  dd      }d d d        | j                  dd      }j                  |      sJ y # 1 sw Y   0xY w)Nr   r   )quadsegsr    )r   r   r   warnsFutureWarningr   equalspointresultexpecteds      r   test_deprecated_quadsegsrj      si    NN1a E	m	$ -a!,-||A|+H=="""- -s   A33A<c                      t        j                  dd      } | j                  dd      }| j                  dd      }|j                  |      sJ y )Nr   r   )
resolutionr    )r   r   r   re   rf   s      r   test_resolution_aliasrm      sH    NN1a E\\!\*F||A|+H=="""r   )unittestr   shapelyr   shapely.constructiver   r   shapely.geometry.baser   r   markparametrizefloatr   TestCaser   rj   rm   r`   r   r   <module>rv      sf       @ 7 eElE%L%AB CL4(## L4^##r   