
    _ h
                         d dl Z d dlZd dlmZ d dlmZ  G d de j                        Z G d de j                        Zy)    N)geometry)	transformc                   <    e Zd ZdZd
dZd Zd Zd Zd Zd Z	d	 Z
y)IdentityTestCase<New geometry/coordseq method 'xy' makes numpy interop easierNc                 ,    t        d |||fD              S )Nc              3   &   K   | ]	  }|s|  y wN ).0cs     /home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/site-packages/shapely/tests/legacy/test_transform.py	<genexpr>z(IdentityTestCase.func.<locals>.<genexpr>   s     /1QQ/s   )tuple)selfxyzs       r   funczIdentityTestCase.func   s    /Aq	///    c                 t    t        j                         }t        | j                  |      }|j                  sJ y r
   )r   Pointr   r   is_emptyr   ghs      r   
test_emptyzIdentityTestCase.test_empty   s*    NNdii#zzzr   c                     t        j                  dd      }t        | j                  |      }|j                  dk(  sJ t        |j                        dgk(  sJ y )Nr      r   r   r   )r   r   r   r   	geom_typelistcoordsr   s      r   
test_pointzIdentityTestCase.test_point   sL    NN1a dii#{{g%%%AHH~&)))r   c                     t        j                  ddg      }t        | j                  |      }|j                  dk(  sJ t        |j                        ddgk(  sJ y )Nr          
LineString)r   r)   r   r   r!   r"   r#   r   s      r   	test_linezIdentityTestCase.test_line   sT     01dii#{{l***AHH~&&!1111r   c                     t        j                  g d      }t        | j                  |      }|j                  dk(  sJ t        |j                        g dk(  sJ y )N)r    r&   )r'   r'   r    
LinearRing)r   r,   r   r   r!   r"   r#   r   s      r   test_linearringz IdentityTestCase.test_linearring    sL     @Adii#{{l***AHH~!AAAAr   c                     t        j                  dd      j                  d      }t        | j                  |      }|j
                  dk(  sJ |j                  t        j                  |j                        k(  sJ y )Nr   r         ?Polygon)	r   r   bufferr   r   r!   areapytestapproxr   s      r   test_polygonzIdentityTestCase.test_polygon&   s^    NN1a '',dii#{{i'''vvqvv....r   c                     t        j                  ddg      j                  d      }t        | j                  |      }|j
                  dk(  sJ |j                  t        j                  |j                        k(  sJ y )Nr    r      r/   MultiPolygon)	r   
MultiPointr1   r   r   r!   r2   r3   r4   r   s      r   test_multipolygonz"IdentityTestCase.test_multipolygon,   sc     0188=dii#{{n,,,vvqvv....r   r
   )__name__
__module____qualname____doc__r   r   r$   r*   r-   r5   r;   r   r   r   r   r   	   s)    F0
*2B//r   r   c                   (    e Zd ZdZd Zd Zd Zd Zy)LambdaTestCaser   c                     t        j                  dd      }t        dd|      }|j                  dk(  sJ t	        |j
                        dgk(  sJ y )Nr   r   c                     | dz   |dz   fS Nr/   r   r   r   r   s      r   <lambda>z+LambdaTestCase.test_point.<locals>.<lambda>8       AGQW+= r   r   r/          @r
   )r   r   r   r!   r"   r#   r   s      r   r$   zLambdaTestCase.test_point6   sI    NN1a =qA{{g%%%AHH~*---r   c                     t        j                  ddg      }t        dd|      }|j                  dk(  sJ t	        |j
                        ddgk(  sJ y )Nr    r&   c                     | dz   |dz   fS rD   r   rE   s      r   rF   z*LambdaTestCase.test_line.<locals>.<lambda>>   rG   r   r)   rH   )g      @g      @r
   )r   r)   r   r!   r"   r#   r   s      r   r*   zLambdaTestCase.test_line<   sQ     01=qA{{l***AHH~*j!9999r   c                    t        j                  dd      j                  d      }t        dd|      }|j                  dk(  sJ |j
                  t        j                  |j
                        k(  sJ |j                  j                  t        j                  d      k(  sJ |j                  j                  t        j                  d      k(  sJ y )Nr   r   r/   c                     | dz   |dz   fS rD   r   rE   s      r   rF   z-LambdaTestCase.test_polygon.<locals>.<lambda>D   rG   r   r0   rI   r
   )r   r   r1   r   r!   r2   r3   r4   centroidr   r   r   s      r   r5   zLambdaTestCase.test_polygonB   s    NN1a '',=qA{{i'''vvqvv....zz||v}}S1111zz||v}}S1111r   c                    t        j                  ddg      j                  d      }t        dd|      }|j                  dk(  sJ |j
                  t        j                  |j
                        k(  sJ |j                  j                  t        j                  d      k(  sJ |j                  j                  t        j                  d      k(  sJ y )Nr    r7   r/   c                     | dz   |dz   fS rD   r   rE   s      r   rF   z2LambdaTestCase.test_multipolygon.<locals>.<lambda>L   rG   r   r9   g      @r
   )r   r:   r1   r   r!   r2   r3   r4   rN   r   r   r   s      r   r;   z LambdaTestCase.test_multipolygonJ   s     0188==qA{{n,,,vvqvv....zz||v}}S1111zz||v}}S1111r   N)r<   r=   r>   r?   r$   r*   r5   r;   r   r   r   rA   rA   3   s    F.:22r   rA   )	unittestr3   shapelyr   shapely.opsr   TestCaser   rA   r   r   r   <module>rU      s6       !'/x(( '/T2X&& 2r   