
    _ 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                  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     |/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/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*   r0   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'   r:   	r   
LineStringr   r+   r,   r-   r.   r   r/   r0   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    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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    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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=   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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    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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_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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_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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   r4   r8   r@   rD   rG   rK   rM   rV   rY   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_quadsegsrk      si    NN1a E	m	$ -a!,-||A|+H=="""- -s   A33A<c                      t        j                  dd      } t        j                  d      5  | j	                  dd      }d d d        | j	                  dd      }j                  |      sJ y # 1 sw Y   0xY w)Nr   zUse 'quad_segs' insteadr   r    )
resolutionr!   )r   r   r   deprecated_callr   rf   rg   s      r   test_deprecated_resolutionro      sl    NN1a E			&?	@ /aA./||A|+H=="""/ /s   A00A9)unittestr   shapelyr   shapely.constructiver   r   shapely.geometry.baser   r   markparametrizefloatr   TestCaser   rk   ro   ra   r   r   <module>rx      sf       @ 7 eElE%L%AB CL4(## L4^##r   