
    _ hIW                        d Z ddlZddlZddlmZ ddlZddlmZmZm	Z	m
Z
mZmZmZmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZmZ d Zd Zd	 Zd
 Zd Z ejB                  jE                  ejF                  dd dvd      d        Z$ejB                  jE                  ejF                  dd dvd      d        Z%ejB                  jE                  ejF                  dd dk7  d      d        Z&ejB                  jE                  ejF                  dk  d      ejB                  jO                  d ejP                  ejR                  ejR                  gdejB                  jE                  ejF                  dk  d             ejP                  ejR                  ejR                  ejR                  gdejB                  jE                  ejF                  dk  d            dejR                  gd fejR                  dgd!fejR                  dejR                  gd"fejR                  ejR                  dgd#fg      d$               Z*ejB                  jO                  d%dejR                  gd&d'fejR                  dgd&d'fdejR                  dgd&d(fddejR                  gd&d(fddgd)d*fg d+d)d,fdejV                  gd&d'fg      d-        Z,ejB                  jO                  d.dejR                  gejR                  dgddejR                  gdejV                  gdejV                   gg      d/        Z-d0 Z.d1 Z/d2 Z0d3 Z1ejB                  jO                  d4dd5g      d6        Z2d7 Z3d8 Z4ejB                  jO                  d9g d:      d;        Z5d< Z6ejB                  jO                  d.ddgd e7d=      ggdd e7d=      gdd e7d=      ggg d+dd e7d=      ggdd e7d=      gg d>g e7d=       e7d=      g e7d=       e7d=      ggg      d?        Z8ejB                  jO                  d.d e7d=      gddgdd5ggddgd e7d=      gdd5ggddgdd5gd e7d=      ggg      d@        Z9dA Z:dB Z;dC Z<dD Z=dE Z>dF Z?dG Z@dH ZAdI ZBejB                  jO                  d9g dJ      dK        ZCdL ZDdM ZEejB                  jO                  d4dd5g      ejB                  jO                  dNdOdPg      dQ               ZFejB                  jO                  d.ddgd e7d=      gdd5gddggddg e7d=      dgdd5gddggg dR e7d=      ddSgg dTg dRgg dRdd e7d=      gg dTg dRgg      dU        ZGejB                  jO                  dVdd e7d=      ddgg dWfg dXd5dY e7d=      dSd5gfdddd e7d=      gg dZf e7d=      ddddgg d[fg      d\        ZHd] ZId^ ZJd_ ZKd` ZLda ZMdb ZNdc ZOdd ZPde ZQdf ZRdg ZSdh ZTdi ZUdj ZVdk ZWdl ZXdm ZYejB                  jO                  d9g dJ      dn        ZZdo Z[ejB                  jO                  d9g dJ      dp        Z\ejB                  jO                  dqej                   e       fej                   e       fej                   e       fej                   e       fg      dr        ZaejB                  jO                  dsej                  efej                  efej                  efej                  efej                  efej                  efej                  efej                  efej                  efej                  efej                  efej                  efg      dt        ZbejB                  jO                  dsej                  efej                  efej                  efej                  efg      du        ZcejB                  jO                  dsej                  efej                  efej                  efej                  efej                  efej                  efej                  efej                  efej                  efg	      dv        ZdejB                  jO                  dwdxdy eg dz      fdxd{ eg d|      fg      d}        ZeejB                  jO                  dwddddgddgfdy eg dz       eg d~      gfddddgddgfdyd{g eg dz       eg d      gfg      d        ZfejB                  jO                  d.ejR                  ejR                  ejR                  ejR                  gejR                  dddgdejR                  ddgddejR                  dgdddejR                  gg      d        Zgd Zhd Zid ZjejB                  jO                  ddej                  dg      d        ZlejB                  jO                  d emd            d        Zny)z@See test_creation_indices.py for tests with 'indices' parameter.    N)assert_array_equal)GeometryCollectionGeometryType
LinearRing
LineStringMultiLineString
MultiPointMultiPolygonPolygon)assert_geometries_equal)
empty_polygongeometry_collectionignore_invalidline_stringlinear_ringmulti_line_stringmulti_pointmulti_polygonpointpolygonc                 $    ||f||f| |f| |f||ffS N )x1y1x2y2s       w/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/site-packages/shapely/tests/test_creation.pybox_tplr   #   s'    8b"XBx"bB8;;    c                      t        j                  ddgddgg      } t        | t        j                  dd      t        j                  dd      g       y )Nr      shapelypointsr   Pointactuals    r   test_points_from_coordsr)   '   sB    ^^aVaV,-FFW]]1a%8'--1:M$NOr    c                      t        j                  dddg      } t        | t        j                  dd      t        j                  dd      g       y )Nr"   r      r#   r'   s    r   test_points_from_xyr,   ,   s;    ^^A1v&FFW]]1a%8'--1:M$NOr    c            	          t        j                  ddddg      } t        | t        j                  ddd      t        j                  ddd      g       y )Nr+   r   r#   r'   s    r   test_points_from_xyzr.   1   sB    ^^Aq1a&)FFW]]1a%;W]]1aQR=S$TUr    c                     t        j                  t        d      5  t        j                  g d       d d d        t        j                  t        d      5  t        j                  dg       d d d        y # 1 sw Y   DxY w# 1 sw Y   y xY w)Nz!dimension should be 2 or 3, got 4match)r   r+   r"      z!dimension should be 2 or 3, got 1r   pytestraises
ValueErrorr$   r%   r   r    r   test_points_invalid_ndimr7   6   sk    	z)L	M %|$% 
z)L	M s % % s   A7B7B Br"   )r2   
   r2      r2      zGEOS not in 3.10, 3.11, 3.12)reasonc                      t        j                  t        j                  t        j                        } | j                  dk(  sJ y NPOINT EMPTYr$   r%   npnanwktr'   s    r   %test_points_nan_all_nan_becomes_emptyrF   >   s.    
 ^^BFFBFF+F::&&&r    )r8   r:   zGEOS not in 3.10, 3.11c                      t        j                  t        j                  t        j                  t        j                        } | j                  dk(  sJ y r@   rB   r'   s    r   +test_points_nan_3D_all_nan_becomes_empty_2DrH   G   s4    
 ^^BFFBFFBFF3F::&&&r    r<   zGEOS != 3.12c                      t        j                  t        j                  t        j                  t        j                        } | j                  dk(  sJ y )NPOINT Z EMPTYrB   r'   s    r   (test_points_nan_3D_all_nan_becomes_emptyrK   P   s2    ^^BFFBFFBFF3F::(((r    )r2   r=   r   zGEOS < 3.12zcoords,expected_wktzPOINT (NaN NaN))r2      r   zGEOS < 3.13)markszPOINT Z (NaN NaN NaN)r+   zPOINT (1 NaN)zPOINT (NaN 1)zPOINT Z (NaN 1 NaN)zPOINT Z (NaN NaN 1)c                 T    t        j                  | d      }|j                  |k(  sJ y )Nallow
handle_nanr$   r%   rE   )coordsexpected_wktr(   s      r   test_points_handle_nan_allowrU   V   s&    2 ^^Fw7F::%%%r    zcoords,handle_nan,expected_wktskiprA   rJ   errorzPOINT (0 1))r   r+   r"   zPOINT Z (0 1 2)c                 R    t        j                  | |      }|j                  |v sJ y )NrP   rR   )rS   rQ   rT   r(   s       r   test_points_handle_nanrY   s   s&     ^^Fz:F::%%%r    rS   c                     t        j                  t        d      5  t        j                  | d       d d d        y # 1 sw Y   y xY w)N.*NaN.*r0   rW   rP   r3   rS   s    r   test_points_handle_nan_errorr]      s5     
z	3 3v'23 3 3s	   =Ac                      t        j                  ddgddggddgddggg      } t        | t        ddg      t        ddg      g       y )Nr   r+   r"   r   r   r+   r+   r"   r"   r$   linestringsr   r   r'   s    r   test_linestrings_from_coordsrd      s[      Aq6Aq6"2aVaV4D!EFF'('(	
r    c                  f    t        j                  ddgddg      } t        | t        ddg             y )Nr   r+   r"   r2   r   r"   r+   r2   rb   r'   s    r   test_linestrings_from_xyrh      s0      !Q!Q0FFJ/?$@Ar    c                      ddg} ddgddgf}t        j                  | |      }t        |t        ddg      t        d	d
g      g       y )Nr   r+   r"   r2         rf   rg   )r   rj   )r+   rk   rb   xyr(   s      r   "test_linestrings_from_xy_broadcastro      sX    	
AA	
AAA  A&F'('(	
r    c                  h    t        j                  ddgddgd      } t        | t        ddg             y )Nr   r+   r"   r2   )r   r"   r   )r+   r2   r   rb   r'   s    r   test_linestrings_from_xyzrq      s2      !Q!Q3FFJ	9/E$FGr    dimr2   c           	      *   t         j                  j                  dd|       }t        j                  |d      }t	        j
                  |      }t        j                  |d      }t	        j
                  |      }t        ||       t        j                  t        j                  t        j                  |dd      dd      d      }t        j                  t        j                  |dd      dd      }t	        j
                  |      }t        ||       y )	Nr9   r2   CorderFr   r"   r+   )rC   randomrandnasarrayr$   rc   r   swapaxes)rr   rS   coords1result1coords2result2coords3result3s           r   test_linestrings_bufferr      s    YY__RC(Fjjs+G!!'*Gjj,G!!'*GGW- jjR[[A%>1ESQGkk"++gq!4a;G!!'*GGW-r    c                  p    t        j                  t        j                  d            } | j                  sJ y Nrf   )r$   rc   rC   emptyis_emptyr'   s    r   test_linestrings_emptyr      '      &!12F???r    c                      t        j                  t              5  t        j                  d       d d d        y # 1 sw Y   y xY wNr`   )r4   r5   r6   r$   rc   r   r    r   %test_linestrings_invalid_shape_scalarr      1    	z	" $F#$ $ $	   9Ashape)r"   r+   r"   r+   r+   r"   r+   r"   c                     t        j                  t        j                        5  t        j                  t        j                  |              d d d        y # 1 sw Y   y xY wr   )r4   r5   r$   GEOSExceptionrc   rC   ones)r   s    r   test_linestrings_invalid_shaper      sA     
w,,	- ,BGGEN+, , ,s   )AAc                  2   d} t        j                  dd      }t        j                  t        | j                  d            5  t        j                  |       d d d        t        j                  dd      }t        j                  t        | j                  d            5  t        j                  |       d d d        t        j                  t        j                  t        j                  d      dd	      d
d      }t        j                  t        j                  t        j                  |d      dd	      d
d	      }t        j                  t        | j                  d            5  t        j                  |       d d d        t        j                  d      }t        j                  t        | j                  d
            5  t        j                  |       d d d        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   y xY w)N8The ordinate \(last\) dimension should be 2 or 3, got {})r9   r"   rj   rt   ru   rj   r0   rw   r   r"   r+   )r9   r"   r+   )
rC   r   r4   r5   r6   formatr$   rc   r{   rz   )msgrS   s     r   test_linestrings_invalid_ndimr      sv   
ECWWZs+F	zA	7 $F#$ WWZs+F	zA	7 $F#$ [[RWWZ%8!Q?AFF[[RZZc%BAqI1aPF	zA	7 $F#$ WWZ F	zA	7 $F#$ $$ $$ $
$ $
$ $s0   G'#G4+HH'G14G>H
HrD   )r"   r"   r2   c                     t               5  t        j                  | d      }d d d        t        j                  t	        | d         dk(        }t        ||        y # 1 sw Y   <xY wNrO   rP   r   r2   )	include_z)r   r$   rc   get_coordinateslenr   rS   r(   s     r   !test_linestrings_handle_nan_allowr      s^     
	 A$$V@A$$Vs6!9~7JKFvv&	A A   AA'c                 `    t        j                  | d      }t        |t        ddg             y )NrV   rP   r   r+   )r"   r2   rb   r   s     r    test_linestrings_handle_nan_skipr     s*       F;FFJ/?$@Ar    c                      t        j                  t        j                        5  t        j                  ddgdt        d      ggd       d d d        y # 1 sw Y   y xY w)Nr   r+   r"   rD   rV   rP   )r4   r5   r$   r   rc   floatr   r    r   (test_linestrings_handle_nan_skip_invalidr     sO    	w,,	- LaVau%67FKL L Ls   'AAc                      t        j                  t        j                  dt        j                        d      } | j
                  sJ y )N)r2   r"   
fill_valuerV   rP   )r$   rc   rC   fullrD   r   r'   s    r   )test_linestrings_handle_nan_skip_only_nanr     s0      BFF!CPVWF???r    c                      t        j                  t        d      5  t        j                  ddgdt        d      gddggd	       d d d        y # 1 sw Y   y xY w)
Nr[   r0   r   r+   r"   rD   r2   rW   rP   )r4   r5   r6   r$   rc   r   r   r    r   !test_linestrings_handle_nan_errorr     sQ    	z	3 UaVau%6A?GTU U Us   *AAc                  t    t        j                  t        dddd            } t        | t	        g d             y Nr   r+   r+   r   r`   r   r_   r   r$   linearringsr   r   r   r'   s    r   test_linearringsr   "  s0      Aq!!45F
CDr    c                  p    t        j                  t        j                  d            } | j                  sJ y r   )r$   r   rC   r   r   r'   s    r   test_linearrings_emptyr   )  r   r    c                  f    t        j                  g dg d      } t        | t        g d             y )N)r   r+   r"   r   )r2   rj   rk   r2   r   r2   )r+   rj   )r"   rk   r   r$   r   r   r   r'   s    r   test_linearrings_from_xyr   .  s$      |<FFJ/O$PQr    c                  z    t        j                  t        dddd      d d       } t        | t	        g d             y )Nr   r+   r   r   r'   s    r   test_linearrings_unclosedr   3  s7      Aq!!4Sb!9:F
CDr    c                  `    t        j                  g d      } t        | t        g d             y )N)r_   r_   r_   )r_   r_   r_   r_   r   r'   s    r   *test_linearrings_unclosed_all_coords_equalr   :  s#      !9:FFJ/O$PQr    c                      t        j                  t              5  t        j                  d       d d d        y # 1 sw Y   y xY wr   )r4   r5   r6   r$   r   r   r    r   %test_linearrings_invalid_shape_scalarr   ?  r   r   )r   r   r   )r"   r"   r"   )r+   r"   r"   ra   c                 T   t        j                  |       }t        j                  t              5  t        j                  |       d d d        |dxx   dz  cc<   t        j                  t              5  t        j                  |       d d d        y # 1 sw Y   NxY w# 1 sw Y   y xY wN.r+   r+   )rC   r   r4   r5   r6   r$   r   r   rS   s     r   test_linearrings_invalid_shaper   D  s     WWU^F	z	" $F#$ 6NaN	z	" $F#$ $$ $
$ $   B3BBB'c                     d} t         j                  j                  ddd      }t        j                  t
        | j                  d            5  t        j                  |       d d d        t        j                  ||d d dgd d f   f      }t        j                  t
        | j                  d            5  t        j                  |       d d d        t         j                  j                  ddd      }t        j                  t
        | j                  d            5  t        j                  |       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r9   r2   rj   r0   r   r+   )
rC   rx   ry   r4   r5   r6   r   r$   r   hstack)r   r|   r~   r   s       r   test_linearrings_invalid_ndimr   Z  s   
ECiioob!Q'G	zA	7 %G$% ii'!aS!)"456G	zA	7 %G$% iioob!Q'G	zA	7 %G$% %% %% %
% %s$   E 8E!E E	EE!c                      t        j                  dt         j                        } t        j                  t
        j                        5  t        j                  |        d d d        y # 1 sw Y   y xY w)N)rj   r"   )rC   r   rD   r4   r5   r$   r   r   r\   s    r   test_linearrings_all_nanr   k  sK    WWVRVV$F	w,,	- $F#$ $ $s   A''A0rv   rt   rw   c                    t         j                  j                  dd|       }t        j                  ||      }t	        j
                  |      }t        j                  ||d d dgd d f   f      }t        j                  ||      }t	        j
                  |      }t        ||       t        j                  |d   |      }t	        j
                  |      }t        ||d          y )Nr9   rj   ru   r   )rC   rx   ry   rz   r$   r   r   r   )rr   rv   r|   r}   r~   r   r   r   s           r   test_linearrings_bufferr   q  s     iioob!S)Gjj.G!!'*G ii'!aS!)"456Gjj.G!!'*GGW- jj51G!!'*GGWQZ0r    )r   r"   rk   rk   )r+   r2   rk   c                     t               5  t        j                  | d      }d d d        t        j                  t	        | d         dk(        }t        ||        y # 1 sw Y   <xY wr   )r   r$   r   r   r   r   r   s     r   !test_linearrings_handle_nan_allowr     s^     
	 A$$V@A$$Vs6!9~7JKFvv&	A Ar   zx,yr2   rj   rk   rk   r2   )r   r+   r+   r"   r   rj   )r2   rj   rk   r2   r2   )r2   r2   rj   rk   r2   c                 b    t        j                  | |d      }t        |t        g d             y )NrV   rP   r   r   rl   s      r    test_linearrings_handle_nan_skipr     s(       A&9FFJ/O$PQr    c                      t        j                  t              5  t        j                  dt        d      dgg dd       d d d        y # 1 sw Y   y xY w)Nr   rD   )r2   rj   r2   rV   rP   r4   r5   r6   r$   r   r   r   r    r   (test_linearrings_handle_nan_skip_invalidr     sD    	z	" PQea0)OP P Ps   'A

Ac                      t        j                  t        j                  dt        j                        d      } | j
                  sJ y )N)rk   r"   r   rV   rP   )r$   r   rC   r   rD   r   r'   s    r   )test_linearrings_handle_nan_skip_only_nanr     s0      BFF!CPVWF???r    c                      t        j                  t        d      5  t        j                  ddt        d      ddgg dd	       d d d        y # 1 sw Y   y xY w)
Nr[   r0   r   r+   rD   r"   r   rW   rP   r   r   r    r   !test_linearrings_handle_nan_errorr     sI    	z	3 
5<A&G	

 
 
s   )AAc            
          t        j                  t        j                  t        dddd                  } t	        | t        g d             y r   )r$   polygonsr   r   r   r   r'   s    r   test_polygon_from_linearringr     s8    g11'!Q12EFGFFG,T$UVr    c                      t        t        j                  d       t               t        t        j                  d t        g      t               y )N)holes)r   r$   r   r   r   r   r    r   test_polygons_noner     s0    G,,T2MBG,,T+GWr    c                  t    t        j                  t        dddd            } t        | t	        g d             y r   )r$   r   r   r   r   r'   s    r   test_polygonsr     s-    gaAq12FFG,T$UVr    c            
          t        j                  t              5  t        j                  t        dddd      t        dddd             d d d        y # 1 sw Y   y xY w)Nr   r9   r+   r"   )r4   r5   r6   r$   r   r   r   r    r    test_polygon_no_hole_list_raisesr     sM    	z	" EAr2.1a0CDE E Es   /AAc                      t        j                  t        t        j                  f      5  t        j
                  t               d d d        y # 1 sw Y   y xY wr   )r4   r5   	TypeErrorr$   r   r   r   r   r    r   test_polygon_no_hole_wrong_typer     s<    		7#8#89	:       s   AAc                      t        j                  t        t        j                  f      5  t        j
                  t        t        g       d d d        y # 1 sw Y   y xY wr   )r4   r5   r   r$   r   r   r   r   r   r    r   !test_polygon_with_hole_wrong_typer     s@    		7#8#89	: /./ / /    AAc                      t        j                  t        t        j                  f      5  t        j
                  t        t        g       d d d        y # 1 sw Y   y xY wr   )r4   r5   r   r$   r   r   r   r   r   r    r   test_polygon_wrong_hole_typer     s@    		7#8#89	: /ug./ / /r   c            	          t        j                  t        dddd      t        dddd      g      } t        j                  |       dk(  sJ y )Nr   r9   r+   r"        X@r$   r   r   arear'   s    r   test_polygon_with_1_holer     sD    gaB3gaAq6I5JKF<<4'''r    c            
          t        j                  t        dddd      t        dddd      t        dddd      g      } t        j                  |       dk(  sJ y Nr   r9   r+   r"   r2   rj        X@r   r'   s    r   test_polygon_with_2_holesr     sV    1b"1a 3WQ1a5HIF <<4'''r    c                  $   t        j                  t        j                  t        dddd            t        j                  t        dddd            d t        j                  t        dddd            g      } t        j                  |       dk(  sJ y r   )r$   r   r   r   r   r'   s    r   test_polygon_with_none_holer     s~    GAq"b121a 341a 34	
F <<4'''r    c            	          t        j                  t        dddd      t        dddd      gt        dddd      g      } t        j                  |       j	                         ddgk(  sJ y )Nr   r9   rk   r+   r"   r         8@r$   r   r   r   tolistr'   s    r   test_2_polygons_with_same_holer     sf    	Ar2	1a 34wq!Q7J6KF <<&&(T4L888r    c            
          t        j                  t        dddd      t        dddd      gt        dddd      t        dddd      g      } t        j                  |       j	                         dd	gk(  sJ y )
Nr   r9   rk   r+   r"   r2   rj   r   g      7@r   r'   s    r   !test_2_polygons_with_2_same_holesr    st    	Ar2	1a 34	Aq!	gaAq12F <<&&(T4L888r    c            
          t        j                  t        dddd      t        dddd      gt        dddd      gt        dddd      gg      } t        j                  |       j	                         ddgk(  sJ y )	Nr   r9   rk   r+   r2   r"   g      X@r   r   r'   s    r   $test_2_polygons_with_different_holesr    sz    	Ar2	1a 34
!Q1
	Aq!!4 56F <<&&(T4L888r    c                      t        j                  t              5  t        j                  d       d d d        y # 1 sw Y   y xY wr   )r4   r5   r6   r$   r   r   r    r   /test_polygons_not_enough_points_in_shell_scalarr    s1    	z	" ! ! ! !r   c                 T   t        j                  |       }t        j                  t              5  t        j                  |       d d d        |dxx   dz  cc<   t        j                  t              5  t        j                  |       d d d        y # 1 sw Y   NxY w# 1 sw Y   y xY wr   rC   r   r4   r5   r6   r$   r   r   s     r   (test_polygons_not_enough_points_in_shellr    s     WWU^F	z	" ! ! 6NaN	z	" ! ! !! !
! !r   c                      t        j                  t              5  t        j                  t        j                  d      d       d d d        y # 1 sw Y   y xY w)Nr+   rj   r"   r`   )r4   r5   r6   r$   r   rC   r   r   r    r   /test_polygons_not_enough_points_in_holes_scalarr  !  s<    	z	" 5+V45 5 5s   *AAc                    t        j                  |       }t        j                  t              5  t        j                  t        j                  d      |       d d d        |dxx   dz  cc<   t        j                  t              5  t        j                  t        j                  d      |       d d d        y # 1 sw Y   bxY w# 1 sw Y   y xY w)Nr
  r   r+   r  r   s     r   (test_polygons_not_enough_points_in_holesr  &  s     WWU^F	z	" 5+V45 6NaN	z	" 5+V45 55 5
5 5s   *B:*C:CCzfunc,expectedc                 `     | t        j                  d gt                    }t        ||       y )N)dtype)rC   arrayobjectr   )funcexpectedr(   s      r    test_create_collection_only_noner  <  s%     "((D601FFH-r    zfunc,sub_geomc                 L     | ||g      }t        j                  |      dk(  sJ y Nr"   r$   get_num_geometriesr  sub_geomr(   s      r   test_create_collectionr  J  s,    $ 8X&'F%%f-222r    c                 P     | |d d |g      }t        j                  |      dk(  sJ y r  r  r  s      r   !test_create_collection_skips_noner  `  s0     8T423F%%f-222r    c                 r    t        j                  t              5   | |g       d d d        y # 1 sw Y   y xY wr   )r4   r5   r   )r  r  s     r   &test_create_collection_wrong_geom_typer  n  s/     
y	! hZ  s   
-6zcoords,ccw,expected)r   r   r+   r+   Tr   F)r_   r   r`   r   r_   c                 F    t        j                  | d|i}t        ||       y Nccwr$   boxr   rS   r"  r  r(   s       r   test_boxr&    s!     [[&*c*FFH-r    )r"   r   ra   rf   r_   r'  )r_   rf   ra   r'  r_   c                 F    t        j                  | d|i}t        ||       y r!  r#  r%  s       r   test_box_arrayr)    s!    , [[&*c*FFH-r    c                 ,    t        j                  |  J y r   )r$   r$  r\   s    r   test_box_nanr+    s     ;;'''r    c                      t        j                  d      5  t        j                  ddddd       d d d        y # 1 sw Y   y xY w)Nz1positional argument `ccw` for `box` is deprecatedr0   r   r+   T)r4   deprecated_callr$   r$  r   r    r   test_box_deprecate_positionalr.    s>    			A
 & 	Aq!Q%& & &s	   :Ac            
         t        j                  t        j                  dd      d t        j                  dddd      g      } | d   j
                  dk(  sJ | d   j
                  dk(  sJ t        j                  |        | d   j
                  dk7  sJ | d   J | d   j
                  dk7  sJ | d   j
                  }t        j                  |        | d   j
                  |k(  sJ y Nr+   r   r"   )rC   r  r$   r%   r$  _geom_preparedprepare)arroriginals     r   test_preparer5    s    
((GNN1a($Aq!Q0GH
ICq6  A%%%q6  A%%%OOCq6  A%%%q6>>q6  A%%% 1v$$HOOCq6  H,,,r    c            
         t        j                  t        j                  dd      d t        j                  dddd      g      } t        j
                  |        | d   j                  dk7  sJ | d   j                  dk7  sJ t        j                  |        | d   j                  dk(  sJ | d   J | d   j                  dk(  sJ t        j                  |        y r0  )rC   r  r$   r%   r$  r2  r1  destroy_prepared)r3  s    r   test_destroy_preparedr8    s    
((GNN1a($Aq!Q0GH
ICOOCq6  A%%%q6  A%%%S!q6  A%%%q6>>q6  A%%%S!r    	geom_typer   c                 |    t        j                  d|       }t        j                  |      j                         sJ y N)r"   )r9  )r$   r   
is_missingallr9  r(   s     r   test_empty_missingr?    s/    ]]495Ff%))+++r       c                    t        j                  d|       }t        j                  |       j                         sJ t        j                  |      j                         sJ t        j
                  |      | k(  j                         sJ y r;  )r$   r   r<  r=  r   get_type_idr>  s     r   
test_emptyrC    sq    ]]495F'',,...F#'')))'9499;;;r    )o__doc__numpyrC   r4   numpy.testingr   r$   r   r   r   r   r   r	   r
   r   shapely.testingr   shapely.tests.commonr   r   r   r   r   r   r   r   r   r   r   r)   r,   r.   r7   markskipifgeos_versionrF   rH   rK   parametrizeparamrD   rU   infrY   r]   rd   rh   ro   rq   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  multipointsmultilinestringsmultipolygonsgeometrycollectionsr  r  r  r  r&  r)  r+  r.  r5  r8  MISSINGr?  rangerC  r   r    r   <module>rU     s   F   , 	 	 	 4  <P
P
V
 !$??)  '	'
 !$66#  '	'
 G((!,7O) P)
 G((:5mLVVRVV++$$$$z1- % 	
 	VVRVVRVV$#++$$$$z1- % 	
 RVVo&
&&!o&
&&!RVV	34
&&"&&!	34%.&/ M0&
 $
RVVfm,
&&!fm,
RVVQ1
Q1
Q-(	G./
RVVfm,&&
 	
BFF		
Arvv	
BFF	
RVVG	3	3
B

H
 A'. (. 
$
 ,,
$, 
Q!U5\"#
Qe	1eEl34	Q5<()
Qe	y)
,e	%eeEl'CD	'	' 
U5\	QFQF+
Q!U5\"QF+
Q!Q!U5\*+BB
L
U

R
R
$
 
$
$%"$ A'3*-1 . (1" 
Q!U5\"QFQF3
Q%,"QFQF3	U5\1a()Y?	Q5<()Y?	'' 	
Qea	#_5	1auq!45
Q1eEl	#_5
,1a	#_5	RR
P


W
X
W
E
 
/
/
(
(	(999!
 
!
!5
 
5
5 			jl+		!	!?#45			/		$	$&8&:;	..
 			e$		!	!;/		!	!;/			(		$	$e,		$	$k2		$	$k2		$	$g.		$	$k2		$	$&78		$	$m4		$	$&9:"3#"3
 			e$		!	!;/			(		$	$g.	33
 			k*			12			k*		!	!5)		!	!7+		!	!#45			,			,			.

 	tW%MNO<=	

.
.
  Aq6Aq6"@A@A	
 Aq6Aq6"5M@A@A	
*.+*.
 	(	Aq	
BFFAq	
Arvvq	
Aq"&&	(	(&-	" t\-A-A2&FG, H,
 eAh/< 0<r    