U
    ZÊ¹jÅ  ã                   @   sp   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	m
Z
 ddlmZmZmZmZ dd„ Zd	d
„ Zdd„ ZdS )z=Tests for tools for manipulation of expressions using paths. é    )ÚepathÚEPath)Úraises)ÚE)ÚcosÚsin)ÚxÚyÚzÚtc                  C   s¸  t dtfdfdtdftfg} td| ƒt dtfdfdtdftfgksFt‚td| ƒt dtfddtdftgkslt‚td| ƒt dtdtdgksŠt‚td| ƒg ksœt‚td	| ƒt dtfdfdtdftfgksÆt‚td
| ƒt dtfddtdftgksìt‚td| ƒt dtdtdgk�st‚td| ƒg k�s t‚td| ƒt dtfddtdftgk�sHt‚td| ƒt dtfdtdfgk�slt‚td| ƒdtgk�s„t‚td| ƒg k�s˜t‚td| ƒdgk�s®t‚td| ƒtgk�sÄt‚td| ƒt dtfdtdfgk�sèt‚td| ƒt dtfdtdfgk�st‚td| ƒt dtfddtdfgk�s2t‚td| ƒt dtfdtdftgk�sXt‚td| ƒt dtfddtdftgk�s€t‚td| ƒt dtfddtdfgk�s¦t‚td| ƒt dtfdtdftgk�sÌt‚td| ƒt dtfddtdftgk�sôt‚td| ƒdddgk�st‚td| ƒt ttgk�s(t‚td| ƒddgk�s@t‚td| ƒttgk�sXt‚tdt t t d ƒt ttgk�s~t‚td ttt d ƒ tt t t ƒ ƒt t tgk�s´t‚d S )!Né   é   é   é   ú/*z/*/*z/*/*/*z/*/*/*/*z/[:]z/[:]/[:]z/[:]/[:]/[:]z/[:]/[:]/[:]/[:]z/*/[:]ú/*/[0]ú/*/[1]ú/*/[2]z/*/intz	/*/Symbolz/*/tuplez/*/__iter__?z/*/int|tuplez/*/Symbol|tuplez/*/int|Symbol|tuplez/*/int|__iter__?z/*/Symbol|__iter__?z/*/int|Symbol|__iter__?ú
/*/[0]/intú/*/[0]/Symbolú/*/[0]/int[1:]ú/*/[0]/Symbol[1:]ú/Symbolú/*/*/Symbol)	r   r   r	   r
   r   ÚAssertionErrorr   r   r   ©Úexpr© r   úc/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/simplify/tests/test_epathtools.pyÚtest_epath_select   sD    *&*& ($$$&&(&& ÿÿ
&r   c                  C   s"  t dtfdfdtdftfg} dd„ }td| tƒt dtfdgdtdftggksPt‚td| tƒt dtgdfdtdgtfgks|t‚td	| |ƒt dtfdfdtdftd fgks¬t‚td
| tƒ| ksÀt‚td| |ƒt dtfdfdtdftfgksìt‚td| |ƒt d dtd fdfdtd dftfgk�s&t‚td| |ƒt dtfdfdtdftfgk�sTt‚td| |ƒt dtd fdfdtd dftfgk�sŠt‚tdt t t d |ƒt d td  td  d k�sÄt‚tdttt d ƒ tt t t	 ƒ |ƒttt d d ƒ tt d td  t	 ƒ k�st‚d S )Nr   r   r   r   c                 S   s   | d S )Nr   r   r   r   r   r   Ú<lambda>8   ó    z"test_epath_apply.<locals>.<lambda>r   r   r   r   r   é	   é   r   r   r   r   r   )
r   r   r	   r
   r   Úlistr   r   r   r   )r   Úfuncr   r   r   Útest_epath_apply6   s4    ,,0,ÿ  ÿÿ
ÿÿ:&*ÿr&   c                   C   sª   t dƒjdkst‚t t dƒƒjdks(t‚ttdƒt ƒdks>t‚tt dƒƒdksRt‚ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ ttd	d„ ƒ ttd
d„ ƒ d S )Nr   TzEPath('/*/[0]')c                   S   s   t dƒS )NÚ ©r   r   r   r   r   r    T   r!   ztest_EPath.<locals>.<lambda>c                   S   s   t dƒS )Nú/r(   r   r   r   r   r    U   r!   c                   S   s   t dƒS )Nz/|xr(   r   r   r   r   r    V   r!   c                   S   s   t dƒS )Nz/[r(   r   r   r   r   r    W   r!   c                   S   s   t dƒS )Nz/[0]%r(   r   r   r   r   r    X   r!   c                   S   s   t dƒS )NÚSymbolr(   r   r   r   r   r    Z   r!   )	r   Ú_pathr   Ú
isinstancer   Úreprr   Ú
ValueErrorÚNotImplementedErrorr   r   r   r   Ú
test_EPathM   s    r0   N)Ú__doc__Zsympy.simplify.epathtoolsr   r   Zsympy.testing.pytestr   Zsympy.core.numbersr   Z(sympy.functions.elementary.trigonometricr   r   Z	sympy.abcr   r	   r
   r   r   r&   r0   r   r   r   r   Ú<module>   s   +