Ë
    _ µh<  ã                   óö   — d Z ddl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ej                   j#                  d¬«      d„ «       Zej                   j#                  d¬«      d„ «       Zd„ Zd„ Zd„ Zd„ Zy)z
Tests for GEOSClipByRect based on unit tests from libgeos.

There are some expected differences due to Shapely's handling of empty
geometries.
é    N)Úclip_by_rect)ÚdumpsÚloadsc                  ó\   — t        d«      } t        | dddd«      }t        |d¬«      dk(  sJ ‚y)zPoint outsidezPOINT (0 0)é
   é   r   ©Úrounding_precisionúGEOMETRYCOLLECTION EMPTYN©Úload_wktr   Údump_wkt©Úgeom1Úgeom2s     ú‚/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/site-packages/shapely/tests/legacy/test_clip_by_rect.pyÚtest_point_outsider      s4   € ä]Ó#€EÜ˜  B¨¨BÓ/€EÜE¨aÔ0Ð4NÒNÐNÑNó    c                  ó\   — t        d«      } t        | dddd«      }t        |d¬«      dk(  sJ ‚y)zPoint insidezPOINT (15 15)r   r   r   r	   Nr   r   s     r   Útest_point_insider      s3   € ä_Ó%€EÜ˜  B¨¨BÓ/€EÜE¨aÔ0°OÒCÐCÑCr   c                  ó\   — t        d«      } t        | dddd«      }t        |d¬«      dk(  sJ ‚y)zPoint on boundaryzPOINT (15 10)r   r   r   r	   r   Nr   r   s     r   Útest_point_on_boundaryr      s4   € ä_Ó%€EÜ˜  B¨¨BÓ/€EÜE¨aÔ0Ð4NÒNÐNÑNr   c                  ó\   — t        d«      } t        | dddd«      }t        |d¬«      dk(  sJ ‚y)zLine outsidezLINESTRING (0 0, -5 5)r   r   r   r	   r   Nr   r   s     r   Útest_line_outsider   #   s5   € äÐ-Ó.€EÜ˜  B¨¨BÓ/€EÜE¨aÔ0Ð4NÒNÐNÑNr   c                  ó\   — t        d«      } t        | dddd«      }t        |d¬«      dk(  sJ ‚y)zLine insidezLINESTRING (15 15, 16 15)r   r   r   r	   Nr   r   s     r   Útest_line_insider   *   s5   € äÐ0Ó1€EÜ˜  B¨¨BÓ/€EÜE¨aÔ0Ð4OÒOÐOÑOr   c                  ó\   — t        d«      } t        | dddd«      }t        |d¬«      dk(  sJ ‚y)zLine on boundaryz LINESTRING (10 15, 10 10, 15 10)r   r   r   r	   r   Nr   r   s     r   Útest_line_on_boundaryr   1   s5   € äÐ7Ó8€EÜ˜  B¨¨BÓ/€EÜE¨aÔ0Ð4NÒNÐNÑNr   c                  ó\   — t        d«      } t        | dddd«      }t        |d¬«      dk(  sJ ‚y)zLine splitting rectanglezLINESTRING (10 5, 25 20)r   r   r   r	   zLINESTRING (15 10, 20 15)Nr   r   s     r   Útest_line_splitting_rectangler    8   s5   € äÐ/Ó0€EÜ˜  B¨¨BÓ/€EÜE¨aÔ0Ð4OÒOÐOÑOr   zTODO issue to CCW)Úreasonc                  ó\   — t        d«      } t        | dddd«      }t        |d¬«      dk(  sJ ‚y)z/Polygon shell (CCW) fully on rectangle boundaryú-POLYGON ((10 10, 20 10, 20 20, 10 20, 10 10))r   r   r   r	   Nr   r   s     r   Ú2test_polygon_shell_ccw_fully_on_rectangle_boundaryr$   ?   ó=   € ô ÐDÓE€EÜ˜  B¨¨BÓ/€Eä¨1Ô-Ø:ò	;ðñ	;r   zTODO issue to CWc                  ó\   — t        d«      } t        | dddd«      }t        |d¬«      dk(  sJ ‚y)z.Polygon shell (CW) fully on rectangle boundaryz-POLYGON ((10 10, 10 20, 20 20, 20 10, 10 10))r   r   r   r	   r#   Nr   r   s     r   Ú1test_polygon_shell_cc_fully_on_rectangle_boundaryr'   J   r%   r   c                  ó\   — t        d«      } t        | dddd«      }t        |d¬«      dk(  sJ ‚y)z.Polygon hole (CCW) fully on rectangle boundaryúLPOLYGON ((0 0, 0 30, 30 30, 30 0, 0 0), (10 10, 20 10, 20 20, 10 20, 10 10))r   r   r   r	   r   Nr   r   s     r   Ú,polygon_hole_ccw_fully_on_rectangle_boundaryr*   U   ó9   € äØVó€Eô ˜  B¨¨BÓ/€EÜE¨aÔ0Ð4NÒNÐNÑNr   c                  ó\   — t        d«      } t        | dddd«      }t        |d¬«      dk(  sJ ‚y)z-Polygon hole (CW) fully on rectangle boundaryzLPOLYGON ((0 0, 0 30, 30 30, 30 0, 0 0), (10 10, 10 20, 20 20, 20 10, 10 10))r   r   r   r	   r   Nr   r   s     r   Ú+polygon_hole_cw_fully_on_rectangle_boundaryr-   ^   r+   r   c                  ó`   — d} t        | «      }t        |dddd«      }t        |d¬«      | k(  sJ ‚y)zPolygon fully within rectanglezLPOLYGON ((1 1, 1 30, 30 30, 30 1, 1 1), (10 10, 20 10, 20 20, 10 20, 10 10))r   é(   r	   Nr   ©Úwktr   r   s      r   Úpolygon_fully_within_rectangler2   g   s7   € à
X€CÜS‹M€EÜ˜  1 b¨"Ó-€EÜE¨aÔ0°CÒ7Ð7Ñ7r   c                  ó`   — d} t        | «      }t        |dddd«      }t        |d¬«      dk(  sJ ‚y)zPolygon overlapping rectangler)   é   é   r   r	   z5POLYGON ((5 5, 5 15, 10 15, 10 10, 15 10, 15 5, 5 5))Nr   r0   s      r   Úpolygon_overlapping_rectangler6   o   s@   € à
X€CÜS‹M€EÜ˜  1 b¨"Ó-€Eä¨1Ô-ØBò	Cðñ	Cr   )Ú__doc__ÚpytestÚshapely.opsr   Úshapely.wktr   r   r   r   r   r   r   r   r   r   r    ÚmarkÚxfailr$   r'   r*   r-   r2   r6   © r   r   ú<module>r>      s£   ðñó å $ß <òOòDòOòOòPòOòPð ‡×ÑÐ-ÐÓ.ñó /ðð ‡×ÑÐ,ÐÓ-ñó .ðòOòOò8ór   