U
    ZÊ¹j9  ã                   @   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ˆ ˆƒks0t‚tt‡ ‡fdd„ƒ tˆ ˆƒtˆ ˆƒks\t‚tˆ ˆƒ tˆ ˆƒ¡svt‚tddƒ} t | td	d	ƒ¡s–t‚t | t	dd
ƒ¡s¬t‚t | t
dd
ƒ¡dksÆt‚t | tddƒ¡sÜt‚t | ttd	d	ƒtdd	ƒtd	dƒƒ¡�st‚t | ttddƒddƒ¡dk�s,t‚d S )NÚxT©ÚrealÚyc                      s   t ddƒtˆ ˆƒkS )Nr   )r   r   © ©r   r   r   ú_/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/geometry/tests/test_entity.pyÚ<lambda>   ó    ztest_entity.<locals>.<lambda>©r   r   é   r   )é   r    Fé   r    é   é   )r   r   ÚAssertionErrorr   Ú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 ks8t‚ttddƒtjƒ}| ¡ d ksZt‚d S )NÚaÚbÚdr   )r   r   r   Z
_repr_svg_r$   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
| | |¡ƒksŒt‚qŒ| | di¡tddƒksÆt‚tddƒ tddƒtddƒ¡tddƒksòt‚tddƒ dtddƒ¡tddƒk�st‚tddƒ tddƒtddƒ¡tddƒk�sHt‚tddƒ dh¡tddƒk�sjt‚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 r2   r3   r   r   r   r   r   ?   s
   ÿ ÿ)r   r   r   r   r	   r   r   r   r   r   Ústrr4   r$   r   Ú
ValueError)r   r   ÚpÚqÚrÚor   r   r   Ú	test_subs)   s.    





ø	,(."r;   c                   C   s4   t dddƒ ¡ dddgdddgdddggks0t‚d S )Nr    r/   )r#   r!   r   éüÿÿÿ)r   Útolistr$   r   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svt‚|j|j ksˆt‚tdddƒ}tj	}	|	tj	krºt
|  ¡ d  ¡ Ž }	qšt|jd |	d�‰ | ˆ ¡}
|
j|j ˆ ¡ksìt‚‡ fdd„|jD ƒ}|
jD ]>}tt|ƒƒD ]*}|| }| |¡�r| |¡  �q�q�q|�rPt‚|j |
j ¡�sft‚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   r$   Zarear   r   ZComplexInfinityr   Ú_randomZas_real_imagZverticesÚcenterÚrangeÚlenr&   Úremove)r   r   r*   r?   r7   r9   r'   ÚcrZpentr@   ZrpentZrvertÚvrD   Úrir   rE   r   Útest_reflect_entity_overridesH   s6    







rP   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sæt‚qæd 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Únr$   )r   rQ   Úgr   r   r   Útest_geometry_EvalfMixing   s     ôrU   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>   rP   rU   r   r   r   r   Ú<module>   s   8