
    9i                         S SK r S SKrS SKJr  S SKJrJr  S SKJrJ	r	  \R                  R                  S\" S5      \" S5      /5      S 5       r " S	 S
\ R                  5      rS rS rg)    N)geometry)BufferCapStyleBufferJoinStyle)	CAP_STYLE
JOIN_STYLEdistancenaninfc                     [         R                  " SS5      n[        R                  " [        SS9   UR                  U 5        S S S 5        g ! , (       d  f       g = f)Nr   zdistance must be finitematch)r   Pointpytestraises
ValueErrorbuffer)r   gs     `/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/shapely/tests/legacy/test_buffer.pytest_non_finite_distancer   
   s:    q!A	z)B	C	 
D	C	Cs   A
Ac                   Z    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rSrg)BufferTests   zCTest Buffer Point/Line/Polygon with and without single_sided paramsc                 z    [         R                  " SS5      nUR                  S5      nUR                  (       d   eg )Nr   )r   r   r   is_emptyselfr   hs      r   
test_emptyBufferTests.test_empty   s+    NN1a HHQKzzz    c                 ^   [         R                  " SS5      nUR                  SSS9nUR                  S:X  d   e/ SQn[	        UR
                  R                  5       HM  u  pEUS   [        R                  " X4   S   5      :X  d   eUS   [        R                  " X4   S   5      :X  a  MM   e   g )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_pointBufferTests.test_point   s    NN1a HHQ!H${{i'''Q%ajj&7&78LE8v}}^-B1-EFFFF8v}}^-B1-EFFFF 9r    c                 `   [         R                  " SS5      nUR                  SSSS9nUR                  S:X  d   e/ SQn[	        UR
                  R                  5       HM  u  pEUS   [        R                  " X4   S   5      :X  d   eUS   [        R                  " X4   S   5      :X  a  MM   e   g )Nr   r"   Tr$   single_sidedr%   r&   r,   r2   s         r   test_point_single_sidedd$BufferTests.test_point_single_sidedd"   s    NN1a HHQ!$H7{{i'''Q%ajj&7&78LE8v}}^-B1-EFFFF8v}}^-B1-EFFFF 9r    c                 h   [         R                  " SS/SS//5      nUR                  SSS9nUR                  S:X  d   e/ SQn[	        UR
                  R                  5       HM  u  pEUS   [        R                  " X4   S   5      :X  d   eUS   [        R                  " X4   S   5      :X  a  MM   e   g )Nr   r"   r#   r%   )r+   r(   )r          @r(   r(   r'   r*   r+   r)   r>   	r   
LineStringr   r-   r.   r/   r0   r   r1   r2   s         r   	test_lineBufferTests.test_line+   s    !Q!Q 01HHQ!H${{i'''
 &ajj&7&78LE8v}}^-B1-EFFFF8v}}^-B1-EFFFF 9r    c                 j   [         R                  " SS/SS//5      nUR                  SSSS9nUR                  S:X  d   e/ SQn[	        UR
                  R                  5       HM  u  pEUS   [        R                  " X4   S   5      :X  d   eUS   [        R                  " X4   S   5      :X  a  MM   e   g )Nr   r"   Tr9   r%   )r)   r(   r)   r)   rA   r>   rG   rB   r2   s         r   test_line_single_sideded_left)BufferTests.test_line_single_sideded_left<   s    !Q!Q 01HHQ!$H7{{i'''W%ajj&7&78LE8v}}^-B1-EFFFF8v}}^-B1-EFFFF 9r    c                 j   [         R                  " SS/SS//5      nUR                  SSSS9nUR                  S:X  d   e/ SQn[	        UR
                  R                  5       HM  u  pEUS   [        R                  " X4   S   5      :X  d   eUS   [        R                  " X4   S   5      :X  a  MM   e   g )Nr   r"   Tr9   r%   )rH   rG   r@   r'   rH   rB   r2   s         r   test_line_single_sideded_right*BufferTests.test_line_single_sideded_rightE   s    !Q!Q 01HHR14H8{{i'''U%ajj&7&78LE8v}}^-B1-EFFFF8v}}^-B1-EFFFF 9r    c                 z   [         R                  " SS/SS/SS/SS/SS//5      nUR                  SSS9nUR                  S:X  d   e/ SQn[	        UR
                  R                  5       HM  u  pEUS   [        R                  " X4   S   5      :X  d   eUS   [        R                  " X4   S   5      :X  a  MM   e   g )Nr   r"   r#   r%   	rA   r>   )r)   r?   )r(   r?   )r?   r(   )r?   r)   )r(   r+   )r)   r+   rA   	r   r%   r   r-   r.   r/   r0   r   r1   r2   s         r   test_polygonBufferTests.test_polygonN   s    q!fq!fq!fq!fq!fEFHHQ!H${{i'''

 &ajj&7&78LE8v}}^-B1-EFFFF8v}}^-B1-EFFFF 9r    c                 |   [         R                  " SS/SS/SS/SS/SS//5      nUR                  SSSS9nUR                  S:X  d   e/ SQn[	        UR
                  R                  5       HM  u  pEUS   [        R                  " X4   S   5      :X  d   eUS   [        R                  " X4   S   5      :X  a  MM   e   g )Nr   r"   Tr9   r%   rP   rQ   r2   s         r   test_polygon_single_sideded'BufferTests.test_polygon_single_sidededa   s    q!fq!fq!fq!fq!fEFHHQ!$H7{{i'''

 &ajj&7&78LE8v}}^-B1-EFFFF8v}}^-B1-EFFFF 9r    c                    [         R                  S:X  d   e[         R                  [        R                  :X  d   e[         R                  S:X  d   e[         R                  [        R                  :X  d   e[         R                  S:X  d   e[         R                  [        R                  :X  d   e[
        R                  S:X  d   e[
        R                  [        R                  :X  d   e[
        R                  S:X  d   e[
        R                  [        R                  :X  d   e[
        R                  S:X  d   e[
        R                  [        R                  :X  d   eg )Nr"         )	r   roundr   flatsquarer   r   mitrebevel)r   s    r   test_enum_values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                 @   [         R                  " SS/SS//5      nUR                  S[        R                  S9nX!R                  S[
        R                  S9:X  d   eX!R                  SSS9:X  d   eUR                  S[        R                  S9nX!R                  S[
        R                  S9:X  d   eX!R                  SSS9:X  d   eUR                  S[        R                  S9nX!R                  S[
        R                  S9:X  d   eX!R                  SSS9:X  d   eg )Nr   r"   )	cap_stylerZ   r[   r\   )r   rC   r   r   rZ   r   r[   r\   r   s      r   test_cap_styleBufferTests.test_cap_style   s   !Q!Q 01HHQ."6"6H7HHQ)//H::::HHQ'H2222HHQ."5"5H6HHQ)..H9999HHQ&H1111HHQ."7"7H8HHQ)*:*:H;;;;HHQ(H3333r    c                 @   [         R                  " SS/SS//5      nUR                  S[        R                  S9nX!R                  S[
        R                  S9:X  d   eX!R                  SSS9:X  d   eUR                  S[        R                  S9nX!R                  S[
        R                  S9:X  d   eX!R                  SSS9:X  d   eUR                  S[        R                  S9nX!R                  S[
        R                  S9:X  d   eX!R                  SSS9:X  d   eg )Nr   r"   )
join_stylerZ   r]   r^   )r   rC   r   r   rZ   r   r]   r^   r   s      r   test_buffer_styleBufferTests.test_buffer_style   s   !Q!Q 01HHQ?#8#8H9HHQ:+;+;H<<<<HHQ7H3333HHQ?#8#8H9HHQ:+;+;H<<<<HHQ7H3333HHQ?#8#8H9HHQ:+;+;H<<<<HHQ7H3333r     N)__name__
__module____qualname____firstlineno____doc__r   r6   r;   rD   rI   rM   rR   rU   r_   rc   rg   __static_attributes__ri   r    r   r   r      sC    M
GGG"GGG&G&944r    r   c                  
   [         R                  " SS5      n [        R                  " [        5         U R                  SSS9nS S S 5        U R                  SSS9nWR                  U5      (       d   eg ! , (       d  f       N7= f)Nr   r"   )quadsegsr#   )r   r   r   warnsFutureWarningr   equalspointresultexpecteds      r   test_deprecated_quadsegsry      se    NN1a E	m	$a!, 
%||A|+H=="""" 
%	$s   A44
Bc                      [         R                  " SS5      n [        R                  " SS9   U R	                  SSS9nS S S 5        U R	                  SSS9nWR                  U5      (       d   eg ! , (       d  f       N7= f)Nr   zUse 'quad_segs' insteadr   r"   )
resolutionr#   )r   r   r   deprecated_callr   rt   ru   s      r   test_deprecated_resolutionr}      sj    NN1a E			&?	@aA. 
A||A|+H=="""" 
A	@s   A..
A<)unittestr   shapelyr   shapely.constructiver   r   shapely.geometry.baser   r   markparametrizefloatr   TestCaser   ry   r}   ri   r    r   <module>r      sf       @ 7 eElE%L%AB CL4(## L4^##r    