o
    h                     @   sP   d dl Z d dlmZmZmZ dd Zdd Ze jde dd	 Z	d
d Z
dS )    N)PointPolygongeos_versionc               	   C   sz   t dd} dtdfdtdfdtdfdtdfg}|D ]!\}}}tj||d	 t| | W d    n1 s5w   Y  qd S )
N      5Gzinvalid format specifierz.fz0.2ez.1xz-hex representation does not specify precision)match)r   
ValueErrorpytestraisesformat)pt	test_listformat_specerrr    r   ]/var/www/html/scripts/venv/lib/python3.10/site-packages/shapely/tests/geometry/test_format.pytest_format_invalid   s   
r   c               	   C   s   d} d}d}d| ddfd| ddfd	|d
dfdt dt d fddfg}tdk r@|d| ddfd| ddfd| ddfd|ddfg7 }n|d| ddfd| ddfd| ddfd|ddfd|ddfg7 }|ddd d!d"d#d$d"d%dfd&|d'j| dfd|d(dfg7 }|S ))N)g^F7ݚ?geB)gj=&=egZ`2)iD	 iI L   z.0fzPOINT (0 12345678901)Tz.1fzPOINT (0.1 12345678901.2)z0.2fzPOINT (-169.91 -19.00)z.3FinfzPOINT (INF -INF)   
   r   z.1gzPOINT (0.1 1e+10)z.6GzPOINT (0.123457 1.23457E+10)z0.12gz$POINT (0.123456789012 12345678901.2)z0.4gzPOINT (-169.9 -19)Fz#POINT (0.123457 12345678901.234568)z)POINT (0.123456789012 12345678901.234568)gzPOINT (-169.910918 -18.997564)z0.2gzPOINT (-169.91 -19)f)r   r   zPOINT (r   z.16f r   )Fz!POINT Z ({:.16f} {:.16f} {:.16f})zPOINT Z (630084 4833438 76))floatr   r   )xy1xy2xyz3r   r   r   r   get_tst_format_point_params   s8   












r"   z0format_spec, coords, expt_wkt, same_python_floatc           
      C   s   t | }| |jksJ t|d|jksJ t|d|j ks"J t|d|jks,J t|| |ks7J | ||dd |d }g }t|| D ]\}}tt|| }	|rd|	|kscJ | qN|	|	|k qN|s{t
|r}J | d| d S d S )N xX(r   r   z with )r   wktr   wkb_hexlowerindexzipsplitr   appendall)
r   coordsexpt_wktsame_python_floatr   text_coordsis_samecoord
expt_coordpy_fmt_floatr   r   r   test_format_point7   s"   r7   c                  C   s0  t ddjddd} |  | jksJ t| d| jksJ t| d| j ks(J t| d| jks2J tdk rBd	| d
ddksAJ nd	| d
ddksMJ tdk rZ| ddksYJ n| ddksbJ t }| dkslJ t|d|jksvJ t|d|jksJ t|d|j ksJ t|d|jksJ d S )Nr   r   r   )	quad_segsr#   r$   r%   )r      r   <z.2f>z|<POLYGON ((10.00 0.00, 7.07 -7.07, 0.00 -10.00, -7.07 -7.07, -10.00 -0.00, -7.07 7.07, -0.00 10.00, 7.07 7.07, 10.00 0.00))>zz<POLYGON ((10.00 0.00, 7.07 -7.07, 0.00 -10.00, -7.07 -7.07, -10.00 0.00, -7.07 7.07, 0.00 10.00, 7.07 7.07, 10.00 0.00))>r   z.2GzfPOLYGON ((10 0, 7.1 -7.1, 1.6E-14 -10, -7.1 -7.1, -10 -3.2E-14, -7.1 7.1, -4.6E-14 10, 7.1 7.1, 10 0))zZPOLYGON ((10 0, 7.07 -7.07, 0 -10, -7.07 -7.07, -10 0, -7.07 7.07, 0 10, 7.07 7.07, 10 0))zPOLYGON EMPTY)r   bufferr'   r   r(   r)   r   r   )polyemptyr   r   r   test_format_polygonP   s2   

r?   )r
   shapelyr   r   r   r   r"   markparametrizer7   r?   r   r   r   r   <module>   s    #
