
    (&h.                     ~    d dl Z d dlZd dlmZ d dlmZ d dlZd dlmZm	Z	 d dl
mZ d Z G d dej                  ZdS )	    N)partial)islice)MultiPolygonPoint)unary_unionc              #   Z    K    fd}d}|dk    r ||          V  |dz  }|dk    dS dS )z4Returns an iterator over an infinite Halton sequencec                 \    d}dz  }| }|dk    r|||z  z  z  }|z  }|z  }|dk    |S )Ng        g      ?r    )indexresultfibases       Z/var/www/html/reinick/venv/lib/python3.11/site-packages/shapely/tests/legacy/test_union.pyvaluezhalton.<locals>.value   sU    $J!eea1t8n$FT	ADA !ee        r   Nr
   )r   r   r   s   `  r   haltonr      s]           	
A
a%%eAhh	Q a%%%%%%r   c                   &    e Zd Zd Zd Zd Zd ZdS )UnionTestCasec                     t          t          j        dd          fdt          d          D             }d |D             }t	          |          }|j        dv sJ d S )Ng      4g      4@c                 P    g | ]"}t                                              #S r
   )r   ).0r   rs     r   
<listcomp>z:UnionTestCase.test_unary_union_partial.<locals>.<listcomp>%   s-    666a%QQSS//666r   d   c                 8    g | ]}|                     d           S )g      @)buffer)r   ps     r   r   z:UnionTestCase.test_unary_union_partial.<locals>.<listcomp>(   s"    ///1#///r   )Polygonr   )r   randomuniformranger   	geom_type)selfpointsspotsur   s       @r   test_unary_union_partialz&UnionTestCase.test_unary_union_partial    su     FNE40066665::666 0//// {9999999r   c           
          t          t          t          t          d          dd                    t          t          t          d          dd                              | _        d S )N      x      )ziplistr   r   coords)r%   s    r   setUpzUnionTestCase.setUp/   sS     q		2s++,,q		2s++,,
 
r   c                     d | j         D             }t          |          }|j        dk    sJ |j        t	          j        d          k    sJ d S )Nc                 R    g | ]$}t          |                              d           %S g?r   r   r   xys     r   r   z2UnionTestCase.test_unary_union.<locals>.<listcomp>8   s,    @@@b599##D))@@@r   r   g1׋?)r1   r   r$   areapytestapprox)r%   patchesr(   s      r   test_unary_unionzUnionTestCase.test_unary_union7   sZ    @@DK@@@  {n,,,,v~66666666r   c                     t          d | j        D                       }t          |          j        t	          j        d          k    sJ t          ||g          j        t	          j        d          k    sJ d S )Nc                 R    g | ]$}t          |                              d           %S r5   r6   r7   s     r   r   z8UnionTestCase.test_unary_union_multi.<locals>.<listcomp>@   s,    MMM2b		 0 0 6 6MMMr   g]H0׋?)r   r1   r   r9   r:   r;   )r%   r<   s     r   test_unary_union_multiz$UnionTestCase.test_unary_union_multi=   sy     MMMMMNN7##(FM-,H,HHHHHGW-..3v}]7S7SSSSSSSr   N)__name__
__module____qualname__r)   r2   r=   r@   r
   r   r   r   r      sU        : : :
 
 
7 7 7T T T T Tr   r   )r!   unittest	functoolsr   	itertoolsr   r:   shapely.geometryr   r   shapely.opsr   r   TestCaser   r
   r   r   <module>rJ      s                   0 0 0 0 0 0 0 0 # # # # # #  &#T #T #T #T #TH% #T #T #T #T #Tr   