a
    <b9                     @   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               	      s0  t ddd t dddt t v s0J tt fdd t t ks\J t t svJ tdd} t| td	d	sJ t| tdd
sJ t| t	dd
du sJ t| tddsJ t| t
td	d	tdd	td	dsJ t| ttdddddu s,J d S )NxTrealyc                      s   t ddt v S )Nr   )r   r    r   r   r   p/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/sympy/geometry/tests/test_entity.py<lambda>       ztest_entity.<locals>.<lambda>r   r      r   )   r    F   r          )r   r   r   NotImplementedErrorequalsr   Z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 s8J ttddtj}| d u sZJ d S )Nabdr   )r   r   r   Z
_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 sJ q|| ditddksJ tddtddtddtddksJ tdddtddtddksJ tddtddtddtddksHJ tdddhtddksjJ 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   >   r   ztest_subs.<locals>.<lambda>c                   S   s$   t ddt ddt ddfddS r1   r2   r   r   r   r   r   ?   s   )r   r   r   r   r	   r   r   r   r   r   strr3   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                     sj  t ddd} t ddd}t d}t d}td|f|d t| |}| }t| |fd	}| }|t|d
ksvJ |j|j ksJ tddd}tj}	|	tju rt	| 
 d   }	qt|jd |	d | }
|
j|j ksJ  fdd|jD }|
jD ]>}tt|D ]*}|| }||r||  qqq|rPJ |j|
j sfJ d S )Nr   Tr   r   r)   mr   )sloper#   r0   r    r   r.   c                    s   g | ]}|  qS r   )reflect).0ilr   r   
<listcomp>\   r   z1test_reflect_entity_overrides.<locals>.<listcomp>)r   r	   r   rA   r   arear   r   ZComplexInfinityr   _randomZas_real_imagZverticescenterrangelenr%   remove)r   r   r)   r>   r6   r8   r&   ZcrZpentr?   ZrpentZrvertvrC   rir   rD   r   test_reflect_entity_overridesH   s6    







rO   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 qd S )Ntr   r   r!   r   z3.1r.   )r   r   r   r   r   r   r   r	   r   r   r
   r   r   r   r4   replacen)r   rP   gr   r   r   test_geometry_EvalfMixing   s     rT   N)Zsympy.core.numbersr   r   Zsympy.core.singletonr   Zsympy.core.symbolr   Zsympy.geometryr   r   r   r	   r
   r   r   r   r   r   r   r   Zsympy.geometry.entityr   r   Zsympy.testing.pytestr   r'   r-   r:   r=   rO   rT   r   r   r   r   <module>   s   8