o
    oh9                     @   s   d dl mZmZ d dl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mZmZ d dlmZmZ d dlmZ dd Zd	d
 Zdd Zdd Zdd Zdd ZdS )    )Rationalpi)S)Symbol)CircleEllipsePointLineParabolaPolygonRayRegularPolygonSegmentTrianglePlaneCurve)scaleGeometryEntity)raisesc               	      s,  t ddd t dddt t v sJ tt fdd t t ks.J t t s;J tdd} t| td	d	sKJ t| tdd
sVJ t| t	dd
du scJ t| tddsnJ t| t
td	d	tdd	td	dsJ t| ttdddddu sJ d S )NxTrealyc                      s   t ddt v S )Nr   )r   r    r   r   r   t/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/sympy/geometry/tests/test_entity.py<lambda>   s    ztest_entity.<locals>.<lambda>r   r      r   )   r   F   r         )r   r   r   NotImplementedErrorequalsr   enclosesr   r   r	   r   r   )cr   r   r   test_entity
   s   
*&r'   c                  C   s^   t d} t d}t d}tt| ||}| d u sJ ttddtj}| d u s-J d S )Nabdr   )r   r   r   
_repr_svg_r   Infinity)r(   r)   r*   entityr   r   r   test_svg   s   r.   c                  C   s  t ddd} t ddd}t| d}tdd}tdd}|t||t||t||t|||t|dd	t|||td
dt|dt	|ddf	D ]}dt
|| |v sTJ qF|| ditddkscJ tddtddtddtddksyJ tdddtddtddksJ tddtddtddtddksJ tdddhtddksJ ttdd  ttdd  d S )Nr   Tr   r      r   r"   r       r   r   r/   c                   S   s   t dddS Nr   r/   r   subsr   r   r   r   r   >   s    ztest_subs.<locals>.<lambda>c                   S   s$   t ddt ddt ddfddS r2   r3   r   r   r   r   r   ?   s
    )r   r   r   r   r	   r   r   r   r   r   strr4   r   
ValueError)r   r   pqror   r   r   	test_subs)   s.   





	,&, r;   c                   C   s.   t ddd g dg dg dgksJ d S )Nr   r/   )r"   r    )r   r   r   )r   r/   r   )r   r   )r   tolistr   r   r   r   test_transformC   s   r>   c                     sf  t ddd} t ddd}t d}t d}td|f|d t| |}| }t| |fd	}| }|t|d
ks;J |j|j ksDJ tddd}tj}	|	tju rat	| 
 d   }	|	tju sRt|jd |	d | }
|
j|j kszJ  fdd|jD }|
jD ]}tt|D ]}|| }||r||  nqq|rJ |j|
j sJ d S )Nr   Tr   r   r)   mr   )sloper"   r1   r   r   r/   c                    s   g | ]}|  qS r   )reflect).0ilr   r   
<listcomp>\   s    z1test_reflect_entity_overrides.<locals>.<listcomp>)r   r	   r   rB   r   arear   r   ComplexInfinityr   _randomas_real_imagverticescenterrangelenr$   remove)r   r   r)   r?   r7   r9   r&   crpentr@   rpentrvertvrD   rir   rE   r   test_reflect_entity_overridesH   s<   








rW   c                  C   s  t } td}t| | ttd| ddd| ft| | | f|d| ft| | f| |  t| | f| td| f| dftd| f| dft	d| f| dft
d| ft|  df| dftdd| f| df| | ftd| f| d| td| df| | ffD ]}t|ddt|dksJ qsd S )Ntr   r   r    r   z3.1r/   )r   r   r   r   r   r   r   r	   r   r   r
   r   r   r   r5   replacen)r   rX   gr   r   r   test_geometry_EvalfMixing   s"   $r\   N)sympy.core.numbersr   r   sympy.core.singletonr   sympy.core.symbolr   sympy.geometryr   r   r   r	   r
   r   r   r   r   r   r   r   sympy.geometry.entityr   r   sympy.testing.pytestr   r'   r.   r;   r>   rW   r\   r   r   r   r   <module>   s    8