
    _ h                         d dl Zd dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
 d Zd Zd Zd Zd	 Zd
 Zd Z G d d      Zd Zd Zd Zd Zy)    N)Pointgeos_version)CoordinateSequence)DimensionErrorUnsupportedGEOSVersionErrorc                  V   t        dd      } | j                  d d  dgk(  sJ | j                  du sJ t        ddd      } | j                  d d  dgk(  sJ | j                  sJ t               } | j                  sJ t	        | j                  t
              sJ | j                  d d  g k(  sJ y )N      ?       @r	   r
   F      @r	   r
   r   )r   coordshas_zis_empty
isinstancer   ps    }/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/site-packages/shapely/tests/geometry/test_point.pytest_from_coordinatesr   	   s    c3A88A;:,&&&77e 	c3A88A;?++++77N7 	A:::ahh 233388A;"    c                     t        d      } | j                  d d  dgk(  sJ t        ddg      } | j                  d d  dgk(  sJ t        dg      } | j                  d d  dgk(  sJ t        ddgg      } | j                  d d  dgk(  sJ t        d      } | j                  d d  dgk(  sJ t        g d      } | j                  d d  dgk(  sJ t        dg      } | j                  d d  dgk(  sJ y )Nr         @r   r   r   r         @r   r   r   s    r   test_from_sequencer      s   jA88A;:,&&&sCjA88A;:,&&& 	zlA88A;:,&&&SzlA88A;:,&&& 	oA88A;?++++oA88A;?++++ A88A;?++++r   c                      t        t        j                  ddg            } | j                  d d  dgk(  sJ t        t        j                  g d            } | j                  d d  dgk(  sJ y )Nr	   r
   r   r   r   nparrayr   r   s    r   test_from_numpyr"   1   s]    bhhSz"#A88A;:,&&&bhh'(A88A;?++++r   c                  R   t        t        j                  dg      t        j                  dg            } | j                  d d  dgk(  sJ t        t        j                  dg      t        j                  dg      t        j                  dg            } | j                  d d  dgk(  sJ y )Nr	   r
   r   r   r   r   r   s    r   test_from_numpy_xyr$   :   s     	bhhuorxx/A88A;:,&&&bhhuorxx#@A88A;?++++r   c                      t        dd      } t        |       }|j                  d d  dgk(  sJ t        ddd      } t        |       }|j                  d d  dgk(  sJ y )Nr   r   r   r   r   r   )r   qs     r   test_from_pointr'   E   s^    c3AaA88A;:,&&&c3AaA88A;?++++r   c                  V    d dD        } t        |       }|j                  d d  dgk(  sJ y )Nc              3       K   | ]  }|  y w)N ).0coords     r   	<genexpr>z&test_from_generator.<locals>.<genexpr>Q   s     
+U5
+s   )r   r   r   )genr   s     r   test_from_generatorr/   P   s-    
+l
+Cc
A88A;:,&&&r   c                      t        j                  t        d      5  t        dddd       d d d        t        j                  t        d      5  t        dd	g       d d d        y # 1 sw Y   ;xY w# 1 sw Y   y xY w)
Nztakes at most 3 arguments)match            z,takes only scalar or 1-size vector arguments)r3   r4   )   r5   )pytestraises	TypeErrorr   
ValueErrorr*   r   r   test_from_invalidr;   V   sq    	y(C	D aAq 
H
 ! 	vw ! !	 ! !s   A%A1%A.1A:c                       e Zd Zd Zd Zd Zy)	TestPointc                    t        dd      }|j                  dk(  sJ t        |j                        t        u sJ |j                  dk(  sJ t        |j                        t        u sJ |j
                  d d  dgk(  sJ t        |      |j                  k(  sJ |j                  du sJ t        j                  t              5  |j                   d d d        t        dk\  r?|j                  du sJ t        j                  t              5  |j                   d d d        n.t        j                  t               5  |j                   d d d        t        ddd      }|j
                  d d  dgk(  sJ t        |      |j                  k(  sJ |j                  du sJ |j                  dk(  sJ t        |j                        t        u sJ t        dk\  r>|j                  du sJ t        j                  t              5  |j                   d d d        t        d	      }|j                  dk(  sJ |j                  d
k(  sJ t#        |j
                        dk(  sJ |j
                  d   d	k(  sJ t        j                  t$              5  |j
                  d    d d d        |j&                  dk(  sJ |j(                  dd	dk(  sJ y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   bxY w)Nr	   r
   r   F)r4      r   r   r   Tr   r   )r   r   r2   )r   r   r   r   r   typecoordinates)r   xrA   floatyr   strwktr   r7   r8   r   zr   has_mmr   tuple
IndexErrorbounds__geo_interface__)selfr   s     r   
test_pointzTestPoint.test_pointb   s   #sOssczzACCyE!!!ssczzACCyE!!!xx{zl***1vww%]]>* 	CC	:%77e###~.   :;  #sC xx{////1vww$ssczzACCyE!!!:%77e###~.  *ssczzssczzQXX-///xx{j(((]]:& 	HHQK	 xx//// ""wz&RRRRK	 	   	 	s<   J?K7K8K&K2?K	KK#&K/2K;c                     t               }|j                  dk(  sJ |j                  d d  g k(  sJ |j                  dk(  sJ |j                  dddk(  sJ y )NzPOINT EMPTY        r   r*   r@   )r   rG   r   arearN   )rO   p_nulls     r   test_point_emptyzTestPoint.test_point_empty   s]    zz]***}}Q2%%%{{c!!!''GB+OOOOr   c                     t        ddd      }|j                  d   }|dk(  sJ t        j                  |      }|j                  dk(  sJ |j
                  dk(  sJ |j                  dk(  sJ y )NrR   r	   r   )rR   rR   r	   r2   r4   )r4   )r   r   r    asarrayndimsizeshape)rO   r   r   as       r   test_coordszTestPoint.test_coords   sk    #sC !((( JJvvv{{vv{{ww$r   N)__name__
__module____qualname__rP   rU   r\   r*   r   r   r=   r=   a   s    /SbP
r   r=   c                      t        dd      } t        j                  t              5  d| _        d d d        t        j                  t
              5  d| j                  d<   d d d        y # 1 sw Y   ;xY w# 1 sw Y   y xY w)Nr   r   )r
   r	   r   )r   r7   r8   AttributeErrorr   r9   r   s    r   test_point_immutablerb      sj    c3A	~	&  
y	! ! ! ! ! !s   A(A4(A14A=c                      t        dd      } t        j                  |       }|j                  dk(  sJ |j                  dk(  sJ |j
                  t        j
                  d      k(  sJ |j                         | k(  sJ y )Nr   r   r   r2   object)r   r    r!   rX   rY   dtypeitem)r   arrs     r   test_point_array_coercionrh      sg    c3A
((1+C88q==88q==99****88:??r   c                  x    t               } t        j                  | j                        }|j                  dk(  sJ y )N)r   r3   )r   r    rW   r   rZ   )per[   s     r   test_numpy_empty_point_coordsrk      s/    	B 	

299A77fr   c                  p    t        dd      } t        j                  dt              }| g|d d  |d   | k(  sJ y )Nr   r   r2   r   )r   r    emptyrd   )geomars     r   test_numpy_object_arrayrp      s8    c?D	!V	BFBqEa5D==r   )numpyr    r7   shapelyr   r   shapely.coordsr   shapely.errorsr   r   r   r   r"   r$   r'   r/   r;   r=   rb   rh   rk   rp   r*   r   r   <module>ru      sX      ' - F$,,,,,'!E EP!r   