a
     ¬<bÕ  ã                   @   s´   d dl mZmZmZmZ d dlmZ d\ZZZ	e
edƒ\ZZZZeZdd„ Zdd„ Zi fd	d
„Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS ) é    )ÚCompoundÚVariableÚCondVariableÚallcombinations)Úcore)ÚaÚbÚcZwxyzc                 C   s   t | tƒo| jdv S )N)ÚAddÚMulÚCAddÚCMul©Ú
isinstancer   Úop©Úx© r   úl/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/sympy/unify/tests/test_unify.pyÚis_associative	   s    r   c                 C   s   t | tƒo| jdv S )N)r   r   r   r   r   r   r   Úis_commutative   s    r   c                 C   s   t j| ||ttdS )N)Úsr   r   )r   Úunifyr   r   )r   r   r   r   r   r   r      s    ÿr   c                   C   s<  t ttti ƒƒttigksJ ‚t ttttdiƒƒg ks:J ‚t tdti ƒƒtdigksXJ ‚t ttti ƒƒi gksrJ ‚t tttfttfi ƒƒttttigksœJ ‚t ttttfi ƒƒtttfigksÂJ ‚t tttfttfi ƒƒg ksâJ ‚t tttfttfi ƒƒg ksJ ‚t ttttfftttffi ƒƒttttigks8J ‚d S )Né
   é   )	Úlistr   r   r   ÚwÚyÚzr   r	   r   r   r   r   Ú
test_basic   s    *& "r   c                   C   s„   t ttdtttfƒtdtttfƒi ƒƒttttigks:J ‚t ttdtddƒttfƒtdtttfƒi ƒƒttddƒttigks€J ‚d S )Nr
   r   ©r   é   )r   r   ÚCr   r   r	   r   r   r   r   r   r   Útest_ops   s    &ÿ,ÿr#   c                  C   sT   t ddƒ} t dttfƒ}tt| |i ƒƒtdtt ddƒitt ddƒtdifksPJ ‚d S )Nr
   ©r   r!   é   r   ©r!   r%   r    r%   )r"   r   r   Útupler   ©Úc1Úc2r   r   r   Útest_associative%   s
    
ÿr+   c                  C   sv   t ddƒ} t dttfƒ}tt| |i ƒƒ}tdtt ddƒi|v sBJ ‚tdtt ddƒi|v srtdtt ddƒi|v srJ ‚d S )Nr   r$   r   r&   r!   )r   r%   ©r%   r   )r"   r   r   r   r   )r)   r*   Úresultr   r   r   Útest_commutative+   s    
ÿr.   c                   C   s4   t tdttfdƒƒdttffdttffhks0J ‚d S )Nr$   T©r    ©r%   ©©r   r&   ©Úsetr   r   r   r   r   r   r   Ú_test_combinations_assoc3   s    ÿr5   c                   C   s$   t tdttfd ƒƒh d£ks J ‚d S )Nr$   >   )r1   ©r   r   )r/   r6   ))r&   r2   r6   ))r,   ©r!   r6   ))r0   r    r6   ))r7   r,   r6   r3   r   r   r   r   Ú_test_combinations_comm7   s    ÿr8   c                   C   s    t tdddƒƒddhksJ ‚d S )Nr    Zcommutative)©r2   r7   r9   )r9   )r7   r2   )r4   r   r   r   r   r   Útest_allcombinations=   s    ÿr:   c                  C   sP   t dttfƒ} t dttfƒ}t| ƒr,t|ƒs0J ‚ttt| |i ƒƒƒdksLJ ‚d S )Nr   r!   )	r   r   r   r   r   r   Úlenr   r   r(   r   r   r   Útest_commutativityB   s    r<   c                  C   s–   t ddƒ} tdƒ}tddd„ ƒ}tddd„ ƒ}t d||fƒ}tt| |i ƒƒ|d	|d
igks^J ‚tddd„ ƒ}t d||fƒ}tt| |i ƒƒg ks’J ‚d S )Nr   r    r   r   c                 S   s   | d dkS )Nr!   r   r   ©r   r   r   r   Ú<lambda>L   ó    z#test_CondVariable.<locals>.<lambda>r   c                 S   s   | dkS ©Nr%   r   r=   r   r   r   r>   M   r?   r   r!   c                 S   s   | dkS r@   r   r=   r   r   r   r>   R   r?   )r"   r   r   r   r   )Úexprr   r   r   Úpatternr   r   r   Útest_CondVariableI   s    
ÿrC   c                   C   s&   t ttdƒdƒƒtdƒdiks"J ‚d S )Nr   Zfoo)Únextr   r   r   r   r   r   Útest_defaultdictW   s    rE   N)Zsympy.unify.corer   r   r   r   Zsympy.unifyr   r   r   r	   Úmapr   r   r   r   r"   r   r   r   r   r#   r+   r.   r5   r8   r:   r<   rC   rE   r   r   r   r   Ú<module>   s"   
