
    (&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dS )    N)Pointgeos_version)CoordinateSequence)DimensionErrorUnsupportedGEOSVersionErrorc                  X   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 d S )N      ?       @r	   r
   F      @r	   r
   r   )r   coordshas_zis_empty
isinstancer   ps    \/var/www/html/reinick/venv/lib/python3.11/site-packages/shapely/tests/geometry/test_point.pytest_from_coordinatesr   	   s    c3A8AAA;:,&&&&7e 	c3A8AAA;?+++++7NNN 	A:ah 2333338AAA;"    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 d S )Nr         @r   r   r   r         @r   r   r   s    r   test_from_sequencer      sH   jA8AAA;:,&&&&sCjA8AAA;:,&&&& 	zlA8AAA;:,&&&&SzlA8AAA;:,&&&& 	oA8AAA;?+++++oooA8AAA;?+++++  A8AAA;?+++++++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 d S )Nr	   r
   r   r   r   nparrayr   r   s    r   test_from_numpyr"   1   sy    bhSz""##A8AAA;:,&&&&bh''((A8AAA;?+++++++r   c                  ^   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 d S )Nr	   r
   r   r   r   r   r   s    r   test_from_numpy_xyr$   :   s     	bhuoorx//A8AAA;:,&&&&bhuoorx#@@A8AAA;?+++++++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 d S )Nr   r   r   r   r   r   )r   qs     r   test_from_pointr'   E   sw    c3AaA8AAA;:,&&&&c3AaA8AAA;?+++++++r   c                  h    d dD             } t          |           }|j        d d          dgk    sJ d S )Nc              3      K   | ]}|V  d S )N ).0coords     r   	<genexpr>z&test_from_generator.<locals>.<genexpr>Q   s"      
+
+U5
+
+
+
+
+
+r   )r   r   r   )genr   s     r   test_from_generatorr/   P   sC    
+
+l
+
+
+Cc

A8AAA;:,&&&&&&r   c                     t          j        t          d          5  t          dddd           d d d            n# 1 swxY w Y   t          j        t          d          5  t          dd	g           d d d            d S # 1 swxY w Y   d S )
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   s   	y(C	D	D	D  aAq               
H
 
 
 ! ! 	vw   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   ;??!B  BBc                        e Zd Zd Zd Zd ZdS )	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            n# 1 swxY w Y   t          dk    rD|j        du sJ t          j
        t                    5  |j         d d d            n# 1 swxY w Y   n8t          j
        t                     5  |j         d d d            n# 1 swxY w Y   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    rC|j        du sJ t          j
        t                    5  |j         d d d            n# 1 swxY w Y   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            n# 1 swxY w Y   |j        dk    sJ |j        dd	dk    sJ d S )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   #sOOsczzzzACyyE!!!!sczzzzACyyE!!!!x{zl****1vvw%]>** 	 	CC	 	 	 	 	 	 	 	 	 	 	 	 	 	 	:%%7e####~..                 :;;                 #sC  x{/////1vvw$sczzzzACyyE!!!!:%%7e####~..                 *sczzzzsczzzzQX-////x{j((((]:&& 	 	HQKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 x///// "wz&R&RRRRRRRsZ   9CCCDD"D EEEHHHJ,,J03J0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 d S )NzPOINT EMPTY        r   r*   r@   )r   rG   r   arearN   )rO   p_nulls     r   test_point_emptyzTestPoint.test_point_empty   so    z]****}QQQ2%%%%{c!!!!'GB+O+OOO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 d S )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   sq    #sC  !(((( Jvv{{{{v{{{{w$r   N)__name__
__module____qualname__rP   rU   r\   r*   r   r   r=   r=   a   sH        /S /S /SbP P P
 
 
 
 
r   r=   c                     t          dd          } t          j        t                    5  d| _        d d d            n# 1 swxY w Y   t          j        t
                    5  d| j        d<   d d d            d S # 1 swxY w Y   d S )Nr   r   )r
   r	   r   )r   r7   r8   AttributeErrorr   r9   r   s    r   test_point_immutablerb      s    c3A	~	&	&                 
y	!	! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s!   >AA"A::A>A>c                      t          dd          } t          j        |           }|j        dk    sJ |j        dk    sJ |j        t          j        d          k    sJ |                                | k    sJ d S )Nr   r   r   r2   object)r   r    r!   rX   rY   dtypeitem)r   arrs     r   test_point_array_coercionrh      sp    c3A
(1++C8q====8q====9******88::??????r   c                  n    t                      } t          j        | j                  }|j        dk    sJ d S )N)r   r3   )r   r    rW   r   rZ   )per[   s     r   test_numpy_empty_point_coordsrk      s7    	B 	
29A7fr   c                      t          dd          } t          j        dt                    }| g|d d <   |d         | k    sJ d S )Nr   r   r2   r   )r   r    emptyrd   )geomars     r   test_numpy_object_arrayrp      sD    c??D	!V		BFBqqqE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      s<        ' ' ' ' ' ' ' ' - - - - - - F F F F F F F F  $, , ,,, , ,, , ,, , ,' ' '! ! !E E E E E E E EP! ! !        r   