
    Ogl                         d dl Zd dlZd dlmZ d dlmZmZmZm	Z	  G d d      Z
 G d d      Z G d d	      Zej                  j                  d
ee	eeg      d        Zy)    N)
LineString)line_stringline_string_zpointpoint_zc                       e Zd ZdZd Zd Zy)
TestCoordsz
    Shapely assumes contiguous C-order float64 data for internal ops.
    Data should be converted to contiguous float64 if numpy exists.
    c9a0707 broke this a little bit.
    c                     t        j                  ddgddggt         j                        }t        j                  t        |      j                        }|j                         |j                         k(  sJ y )N   "   8   N   dtypenparrayfloat32r   coordstolistselfr   processed_coordss      g/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/shapely/tests/geometry/test_coords.pytest_data_promotionzTestCoords.test_data_promotion   s[    B8b"X.bjjA88Jv$6$=$=>}}"2"9"9";;;;    c                    t        j                  ddgddggt         j                        }t        j                  t        |d d d         j                        }|d d d   j                         |j                         k(  sJ y )Nr   r   r   r   r   r   r   s      r   test_data_destridingzTestCoords.test_data_destriding   sp    B8b"X.bjjA 88Jvdd|$<$C$CDdd|""$(8(?(?(AAAAr   N)__name__
__module____qualname____doc__r   r    r   r   r	   r	      s    <Br   r	   c                   *    e Zd Zd Zd Zd Zd Zd Zy)TestCoordsGetItemc                    t        d      D cg c]  }t        |      t        |       f }}t        |      }t        dd      D ]  }|j                  |   ||   k(  rJ  t	        j
                  t              5  |j                  d    d d d        t	        j
                  t              5  |j                  d    d d d        y c c}w # 1 sw Y   @xY w# 1 sw Y   y xY w)N   rangefloatr   r   pytestraises
IndexErrorr   xcgis        r   test_index_2d_coordsz&TestCoordsGetItem.test_index_2d_coords   s    ,1!H5qeAhqb	"55qMr1 	'A88A;!A$&&&	']]:& 	HHQK	]]:& 	HHRL	 	 6	 		 	s   C:C	+C	CCc           	         t        d      D cg c]&  }t        |      t        |       t        |dz        f( }}t        |      }t        dd      D ]  }|j                  |   ||   k(  rJ  t	        j
                  t              5  |j                  d    d d d        t	        j
                  t              5  |j                  d    d d d        y c c}w # 1 sw Y   @xY w# 1 sw Y   y xY w)Nr(      r)   r*   r+   r1   s        r   test_index_3d_coordsz&TestCoordsGetItem.test_index_3d_coords)   s    :?(CQeAhqb	5Q<0CCqMr1 	'A88A;!A$&&&	']]:& 	HHQK	]]:& 	HHRL	 	 D	 		 	s   +CC8C"C"C+c                    t               }t        j                  t              5  |j                  d    d d d        t        j                  t
              5  |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/   r0   r   	TypeError)r   r4   s     r   test_index_coords_miscz(TestCoordsGetItem.test_index_coords_misc3   sf    L]]:& 	HHQK	]]9% 	HHSM	 		 		 	s   A.A:.A7:Bc                    t        d      D cg c]  }t        |      t        |       f }}t        |      }|j                  dd  |dd  k(  sJ |j                  d d |d d k(  sJ |j                  d d d   |d d d   k(  sJ |j                  d d d   |d d d   k(  sJ |j                  d d |d d k(  sJ |j                  dd  |dd  cxk(  rg k(  sJ  J y c c}w )Nr(      r   r8   r,   r-   r   r   r   r2   r3   r4   s       r   test_slice_2d_coordsz&TestCoordsGetItem.test_slice_2d_coords:   s    ,1!H5qeAhqb	"55qMxx|qu$$$xx}#2&&&xx"~4R4(((xx!}#A#&&&xx|q!u$$$xx|qu****** 6s   Cc           	         t        d      D cg c]&  }t        |      t        |       t        |dz        f( }}t        |      }|j                  dd  |dd  k(  sJ |j                  d d |d d k(  sJ |j                  d d d   |d d d   k(  sJ |j                  d d d   |d d d   k(  sJ |j                  d d |d d k(  sJ |j                  dd  |dd  cxk(  rg k(  sJ  J y c c}w )Nr(   r8   r?   r   r@   rA   s       r   test_slice_3d_coordsz&TestCoordsGetItem.test_slice_3d_coordsD   s   :?(CQeAhqb	5Q<0CCqMxx|qu$$$xx}#2&&&xx"~4R4(((xx!}#A#&&&xx|q!u$$$xx|qu****** Ds   +C&N)r    r!   r"   r6   r9   r=   rB   rD   r$   r   r   r&   r&      s    ++r   r&   c                       e Zd ZdZd Zy)TestXYz<New geometry/coordseq method 'xy' makes numpy interop easierc                     t        ddg      j                  \  }}t        |      dk(  sJ t        |      ddgk(  sJ t        |      dk(  sJ t        |      ddgk(  sJ y )N)r   r   )r?   r?   r8   r;   g      ?)r   xylenlist)r   r2   ys      r   test_arrayszTestXY.test_arraysR   sg    66*+..11v{{Aw3*$$$1v{{Aw3*$$$r   N)r    r!   r"   r#   rL   r$   r   r   rF   rF   O   s
    F%r   rF   geomc                 6   | j                   }t        j                  |      t        j                  |      usJ t        j                  |d      t        j                  |d      usJ t        t        j                  j
                  j                  dd      d         dk\  r<t        j                  t        d      5  t        j                  |d	       d
d
d
       y
t        j                  |d	      t        j                  |d	      u sJ y
# 1 sw Y   y
xY w)z)Test CoordinateSequence.__array__ method.T)copy.r?   r   r8   zA copy is always created)matchFN)
r   r   r   intversionshort_versionsplitr.   r/   
ValueError)rM   	coord_seqs     r   test_coords_array_copyrX   Z   s     I88Ibhhy&999988ID))$1OOOO 2::##))#q1!45:]]:-GH 	,HHYU+	, 	, xx	."((952QQQQ	, 	,s   =DD)numpyr   r.   shapelyr   shapely.tests.commonr   r   r   r   r	   r&   rF   markparametrizerX   r$   r   r   <module>r^      sf       K KB B,.+ .+b% % %+}!MNR ORr   