
    Og                         d dl Zd dlZd dlmZ d dlmZ d dl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)CoordinateSequence)DimensionErrorc                  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    f/var/www/html/public_html/myphp/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)r1   r2   )   r3   )pytestraises	TypeErrorr   
ValueErrorr(   r   r   test_from_invalidr9   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                 6   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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      }|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   6xY w# 1 sw Y   <xY w)Nr   r   r	   Fr
   r   Tr   r   )r   r   r0   )r
   r   r
   r   r   )typecoordinates)r   xr=   floatyr   strwktr   r5   r6   r   ztuple
IndexErrorbounds__geo_interface__)selfr   s     r   
test_pointzTestPoint.test_pointc   s    #sOssczzACCyE!!!ssczzACCyE!!!xx{zl***1vww%]]>* 	CC	 #sC xx{////1vww$ssczzACCyE!!! *ssczzssczzQXX-///xx{j(((]]:& 	HHQK	 xx//// ""wz&RRRR1	 	"	 	s   HHHHc                     t               }|j                  dk(  sJ |j                  d d  g k(  sJ |j                  dk(  sJ y )NzPOINT EMPTY        )r   rC   r   area)rI   p_nulls     r   test_point_emptyzTestPoint.test_point_empty   sD    zz]***}}Q2%%%{{c!!!r   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 )NrL   r   r   )rL   rL   r   r0   r2   )r2   )r   r   r   asarrayndimsizeshape)rI   r   r   as       r   test_coordszTestPoint.test_coords   sk    #sC !((( JJvvv{{vv{{ww$r   N)__name__
__module____qualname__rJ   rO   rV   r(   r   r   r;   r;   b   s    #SJ"
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   r5   r6   AttributeErrorr   r7   r   s    r   test_point_immutabler\      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   r0   object)r   r   r   rR   rS   dtypeitem)r   arrs     r   test_point_array_coercionrb      sg    c3A
((1+C88q==88q==99****88:??r   c                  x    t               } t        j                  | j                        }|j                  dk(  sJ y )N)r   r1   )r   r   rQ   r   rT   )perU   s     r   test_numpy_empty_point_coordsre      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   r0   r   )r   r   emptyr^   )geomars     r   test_numpy_object_arrayrj      s8    c?D	!V	BFBqEa5D==r   )numpyr   r5   shapelyr   shapely.coordsr   shapely.errorsr   r   r   r    r"   r%   r-   r9   r;   r\   rb   re   rj   r(   r   r   <module>ro      sV       - )$,,,,,'	!7 7t!r   