
    _ h                     <   d dl Z d dlZd dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlZd dlZd dlZd dlmZmZ ej$                  d        Zej$                  d        Zd	 Zd
 Zd Zd Z G d d      Zd Zej6                  j9                  dg d      d        Zej6                  j9                  dg d      d        Zej6                  j9                  dddg      d        Zej6                  j9                  dddg      d        Z ed        Z!d Z"d Z#d Z$ej6                  j9                  d ejJ                  de&      fi fd d! ejJ                  de&      ifd"gfi fd d!d"gifd d# ejJ                  de'      ifd d$ ejJ                  de'      ifg      d%        Z(y)&    N)cleandoc)chain)ascii_lettersdigits)mock)multithreading_enabledrequires_geosc               #      K   t         j                  j                  t        j                  dd      5  d d d d        y # 1 sw Y   y xY ww)Ngeos_version)   
      )new3.10.1)r   patchobjectshapelylib     s/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/site-packages/shapely/tests/test_misc.pymocked_geos_versionr      s<     			7;;J		G   s   1AA	AA
Ac               #   \   K   dt         j                  d<   d  t         j                  d= y w)N1SPHINX_DOC_BUILD)osenvironr   r   r   sphinx_doc_buildr      s%     %(BJJ!"	


%&s   *,c                  D    t        t        j                  t              sJ y N)
isinstancer   __version__strr   r   r   test_versionr$      s    g))3///r   c                  
    dj                   t        j                   } t        j                  }t	        d |D              r=|d   j                         r|j                  t              }|j                  t              }|| k(  sJ y )Nz{}.{}.{}c              3   <   K   | ]  }|j                           y wr    isalpha.0cs     r   	<genexpr>z$test_geos_version.<locals>.<genexpr>%   s     
'1199;
'   )	formatr   r   geos_version_stringany	isnumericrstripr   r   )expectedactuals     r   test_geos_versionr6       so     z  '"6"67H((F 
'
''":!]]6*F}-Xr   c                      dj                   t        j                  t        j                  z    } t        j                  j                  d      \  }}t        d |D              r=|d   j                         r|j                  t              }|j                  t              }|j                  t              }| d| | k(  sJ y )Nz{}.{}.{}-CAPI-{}.{}.{}z-CAPI-c              3   <   K   | ]  }|j                           y wr    r'   r)   s     r   r,   z)test_geos_capi_version.<locals>.<genexpr>8   s     
41199;
4r-   r.   )r/   r   r   geos_capi_versiongeos_capi_version_stringsplitr1   r2   r3   r   r   )r4   actual_geos_versionactual_geos_api_versions      r   test_geos_capi_versionr>   -   s    .'..


!:!:
:H 	((..x8 
4 3
44r",,."5"<"<V"D188G-44]C!"&)@(ABhNNNr   c                       y)zKDocstring that will be mocked.
    A multiline.

    Some description.
    Nr   r   r   r   funcr@   A       r   c                       e Zd Zd Zy)	SomeClassc                      y)zWDocstring that will be mocked.
        A multiline.

        Some description.
        Nr   )selfs    r   r@   zSomeClass.funcJ   rA   r   N)__name__
__module____qualname__r@   r   r   r   rC   rC   I   s    r   rC   c                  r     dj                   di | }t        j                  d d dk\  rt        |      dz   S |S )NzDocstring that will be mocked.
{indent}A multiline.

{indent}.. note:: 'func' requires at least GEOS {version}.

{indent}Some description.
{indent}   )r      
r   )r/   sysversion_infor   )kwdsdocs     r   expected_docstringrQ   R   sQ      F C w& }t##Jr   version)3.10.0r   z3.9.2c                 P     t        |       t              } |        |t        u sJ y r    )r	   r@   rR   r   wrappeds      r   test_requires_geos_okrW   b   s$    $mG$T*GId??r   )z3.10.2z3.11.0z3.11.1c                      t        |       t              }t        j                  t        j
                  j                        5   |        d d d        |j                  t        | d      k(  sJ y # 1 sw Y   &xY w)N    rR   indent)	r	   r@   pytestraisesr   errorsUnsupportedGEOSVersionError__doc__rQ   rU   s      r   test_requires_geos_not_okra   i   s_    $mG$T*G	w~~AA	B 	 ??0QQQQ s   A00A9z3.9.0rS   c                 f     t        |       t              }|j                  t        | d      k(  sJ y)z8The requires_geos decorator always adapts the docstring.rY   rZ   N)r	   r@   r`   rQ   rR   r   r   rV   s       r   test_requires_geos_doc_buildrd   r   s/     %mG$T*G??0QQQQr   c                 z     t        |       t        j                        }|j                  t	        | d      k(  sJ y)z@The requires_geos decorator adjusts methods docstrings correctlyz        rZ   N)r	   rC   r@   r`   rQ   rc   s       r   test_requires_geos_methodrf   z   s3     %mG$Y^^4G??0QQQQr   c                 l    t        ||j                               D ]  }t        |d      s| |d<   |c S  y )N__setitem__r   )r   valueshasattr)valueargskwargsargs       r   set_first_elementro      s6    T6==?+ 3&CFJr   c                      t        j                  dt              } t        j                  t
              5  t        d|        d d d        d| d<   | d   dk(  sJ y # 1 sw Y   xY w)Nr   dtype*   r   )npemptyr   r\   r]   
ValueErrorro   arrs    r   &test_multithreading_enabled_raises_argrz      sZ    
((4v
&C 
z	" #"c"# CFq6R<<# #s   AA#c                      t        j                  dt              } t        j                  t
              5  t        d|        d d d        | j                  j                  sJ y # 1 sw Y   "xY w)Nrq   rr   rt   rx   )	ru   rv   r   r\   r]   rw   ro   flags	writeablerx   s    r   (test_multithreading_enabled_raises_kwargr~      sT    
((4v
&C 
z	" '"#&' 99	' 's   A$$A-c                      t        j                  dt              } d| j                  _        t        j                  t              5  t        d|        d d d        | j                  j                  rJ y # 1 sw Y   "xY w)Nrq   rr   Frt   )	ru   rv   r   r|   r}   r\   r]   rw   ro   rx   s    r   *test_multithreading_enabled_preserves_flagr      sc    
((4v
&CCII 
z	" #"c"# yy"""""	# #s   A44A=zargs,kwargsrq   rr   r   ar   outwherec                 6    t        dg| i |}|d   dk(  sJ y )Nrt   r   )ro   )rl   rm   results      r   test_multithreading_enabled_okr      s(     r3D3F3F!9??r   ))r   rM   inspectr   	itertoolsr   stringr   r   unittestr   numpyru   r\   r   shapely.decoratorsr   r	   fixturer   r   r$   r6   r>   r@   rC   rQ   markparametrizerW   ra   rd   rf   ro   rz   r~   r   rv   floatr   r   r   r   r   <module>r      s   	 
   (     D  
 ' '0
O(   $AB C $BCR DR Wh$78R 9R Wh$78R 9R  		# 
"((4u
%	',	c8288D./0#	cA3Z	eXRXXd&123hbhht623	

r   