o
    GZh                     @   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      t | to	| jdv S )N)AddMulCAddCMul
isinstancer   opx r   K/var/www/auris/lib/python3.10/site-packages/sympy/unify/tests/test_unify.pyis_associative	      r   c                 C   r
   )N)r   r   r   r   r   r   r   is_commutative   r   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   s8  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s,J t ttti i gks9J t tttfttfi ttttigksNJ t ttttfi tttfigksaJ t tttfttfi g ksqJ t tttfttfi g ksJ t ttttfftttffi ttttigksJ d S )N
      )	listr   r   r   wyzr   r	   r   r   r   r   
test_basic   s   *&  6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s(J d S )Nr   r   r#      r   r#   r'   r"   r'   )r$   r   r   tupler   c1c2r   r   r   test_associative%   s
   
r-   c                  C   sz   t dd} t dttf}tt| |i }tdtt ddi|v s!J tdtt ddi|v s9tdtt ddi|v s;J d S d S )Nr   r&   r   r(   r#   )r   r'   r'   r   )r$   r   r   r   r   )r+   r,   resultr   r   r   test_commutative+   s   
r0   c                   C   s4   t tdttfddttffdttffhksJ d S )Nr&   Tr"   r'   r   r(   setr   r   r   r   r   r   r   _test_combinations_assoc3   s   r7   c                   C   s$   t tdttfd h dksJ d S )Nr&   >   )r1   r   r   ))r(   r4   r8   ))r.   r#   r8   ))r2   r"   r8   ))r9   r.   r8   )r3   r8   r5   r   r   r   r   _test_combinations_comm7   s   r:   c                   C   s    t tdddddhksJ d S )Nr"   Zcommutative)r4   r9   r;   )r;   )r9   r4   )r6   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|sJ ttt| |i dks&J 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sIJ d S )Nr   r"   r   r   c                 S   s   | d dkS )Nr#   r   r   r   r   r   r   <lambda>L   s    z#test_CondVariable.<locals>.<lambda>r    c                 S      | dkS Nr'   r   r?   r   r   r   r@   M       r   r#   c                 S   rA   rB   r   r?   r   r   r   r@   R   rC   )r$   r   r   r   r   )exprr   r   r    patternr   r   r   test_CondVariableI   s   
rF   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   &rH   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-   r0   r7   r:   r<   r>   rF   rH   r   r   r   r   <module>   s$    
