a
    <b                     @   s   d dl mZ d dlmZmZmZmZmZmZ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d Zdd Zdd ZdS )    )S)rm_idglomflattenunpacksort
distributesubsrebuild)Basicc                  C   s   t dd } | ttdtdttdks2J | ttdtdttdksXJ | ttdtdttdtdksJ d S )Nc                 S   s   | dkS Nr    xr   r   n/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/sympy/strategies/tests/test_rl.py<lambda>       ztest_rm_id.<locals>.<lambda>r         )r   r   r   )Zrmzerosr   r   r   
test_rm_id   s    &&r   c               	   C   s   ddl m}  ddlm} dd }dd }dd }t|||}|| || d| d	dd
d}| d| d}t|jt|jksJ d S )Nr   Addr   c                 S   s   |   d S )Nr   Zas_coeff_Mulr   r   r   r   r      r   ztest_glom.<locals>.<lambda>c                 S   s   |   d S r   r   r   r   r   r   r      r   c                 S   s   | | S )Nr   )Zcntargr   r   r   r      r      r   Fevaluate   )sympy.core.addr   Z	sympy.abcr   r   setargs)r   r   keycountZnewargsrlresultexpectedr   r   r   	test_glom   s    r&   c                   C   sL   t ttdtdttdtdttdtdtdtdksHJ d S )Nr   r   r      )r   r   r   r   r   r   r   test_flatten   s    $r(   c                   C   sH   t ttddksJ t ttdtdttdtdksDJ d S )Nr   r   )r   r   r   r   r   r   r   test_unpack   s    r)   c                   C   s@   t tttdtdtdttdtdtdks<J d S )Nr   r   r   )r   strr   r   r   r   r   r   	test_sort    s    r+   c               	   C   s   G dd dt } G dd dt }t| |}|| tdtd|tdtdtd	|| tdtdtdtd	| tdtdtdtd	ksJ || tdtdtd| tdtdtdksJ d S )
Nc                   @   s   e Zd ZdS )ztest_distribute.<locals>.T1N__name__
__module____qualname__r   r   r   r   T1$   r   r0   c                   @   s   e Zd ZdS )ztest_distribute.<locals>.T2Nr,   r   r   r   r   T2%   r   r1   r   r   r   r'   r   )r   r   r   )r0   r1   Zdistribute_t12r   r   r   test_distribute#   s    
*<r2   c                  C   sx   ddl m}  ddlm} ddlm} |d\}}|d| ||dd}| |d||d|}t|| }|||kstJ d S )	Nr   r   )Mul)symbolszx, yr   Fr   )r   r   Zsympy.core.mulr3   Zsympy.core.symbolr4   r   )r   r3   r4   r   yexprr%   Zdistribute_mulr   r   r   test_distribute_add_mul,   s    
r7   c                  C   s.   t dd} | ddksJ | ddks*J d S )Nr   r   r   )r	   )r#   r   r   r   	test_subs6   s    
r8   c                  C   s6   ddl m}  t| tdtd}t|dks2J d S )Nr   r   r   r   r   )r   r   r   __new__r   r
   )r   r6   r   r   r   test_rebuild;   s    r:   N)Zsympy.core.singletonr   Zsympy.strategies.rlr   r   r   r   r   r   r	   r
   Zsympy.core.basicr   r   r&   r(   r)   r+   r2   r7   r8   r:   r   r   r   r   <module>   s   (	
