U
    	-e                     @   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kS )N)AddMulCAddCMul
isinstancer   opx r   ]/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/unify/tests/test_unify.pyis_associative	   s    r   c                 C   s   t | to| jdk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tt ttttdig ks:tt tdti tdigksXtt ttti i gksrtt tttfttfi ttttigkstt ttttfi tttfigkstt tttfttfi g kstt tttfttfi g kstt tttt	fftttffi tttt	igks8td S )N
      )
listr   r   r   AssertionError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:t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std S )Nr
   r   r      )	r   r   Cr   r   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sPtd S )Nr
   r   r"      r   r"   r&   r!   r&   )r#   r   r   tupler   r   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|ksBttdtt ddi|ksrtdtt ddi|ksrtd S )Nr   r%   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s0td S )Nr%   Tr!   r&   r   r'   setr   r   r   r   r   r   r   r   _test_combinations_assoc3   s    r6   c                   C   s,   t tdttfd ddddddhks(td S )Nr%   )r2   r   r   ))r"   r-   r7   ))r1   r!   r7   )r0   r7   ))r'   r3   r7   ))r-   r8   r7   r4   r   r   r   r   _test_combinations_comm7   s      r9   c                   C   s    t tdddddhkstd S )Nr!   Zcommutative)r3   r8   r:   )r:   )r8   r3   )r5   r   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|s0tttt	| |i dksLtd S )Nr   r"   )
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^ttddd }t d||f}tt| |i g kst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 rA   r   r>   r   r   r   r?   R   r@   )r#   r   r   r   r   r   )exprr   r   r   patternr   r   r   test_CondVariableI   s    
rD   c                   C   s&   t ttddtddiks"td S )Nr   Zfoo)nextr   r   r   r   r   r   r   test_defaultdictW   s    rF   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/   r6   r9   r;   r=   rD   rF   r   r   r   r   <module>   s"   
