o
    oh                     @   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lmZ d dlmZ d dl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)Basic)Add)Mul)symbolsxc                  C   s   t dd } | ttdtdttdksJ | ttdtdttdks,J | ttdtdttdtdksBJ d S )Nc                 S   s   | dkS Nr    r   r   r   r/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/sympy/strategies/tests/test_rl.py<lambda>   s    ztest_rm_id.<locals>.<lambda>r         )r   r   r   )rmzerosr   r   r   
test_rm_id   s   &&0r   c               	   C   sl   dd } dd }dd }t | ||}|ttt dt ddd	d
}tdt d}t|jt|jks4J d S )Nc                 S      |   d S )Nr   as_coeff_Mulr   r   r   r   key      ztest_glom.<locals>.keyc                 S   r   r   r   r   r   r   r   count   r   ztest_glom.<locals>.countc                 S   s   | | S )Nr   )cntargr   r   r   newargs   s   ztest_glom.<locals>.newargs   r   Fevaluate   )r   r   r   setargs)r   r   r!   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s$J 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s"J d S )Nr   r"   )r   r   r   r   r   r   r   test_unpack(   s   0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   @r0   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sLJ || tdtdtd| tdtdtdkshJ d S )
Nc                   @      e Zd ZdS )ztest_distribute.<locals>.T1N__name__
__module____qualname__r   r   r   r   T12       r6   c                   @   r1   )ztest_distribute.<locals>.T2Nr2   r   r   r   r   T25   r7   r8   r   r   r"   r,   r%   )r   r   r   )r6   r8   distribute_t12r   r   r   test_distribute1   s   
*<<r:   c                  C   sT   t d\} }tdt| |dd}ttd| td|}ttt}|||ks(J d S )Nzx, yr   Fr#   )r   r   r   r   )r   yexprr*   distribute_mulr   r   r   test_distribute_add_mul>   s
   
r>   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_subsF   s   
r@   c                  C   s*   t ttdtd} t| dksJ d S r?   )r   __new__r   r   r
   )r<   r   r   r   test_rebuildL   s   rB   N)sympy.core.singletonr   sympy.strategies.rlr   r   r   r   r   r   r	   r
   sympy.core.basicr   sympy.core.addr   sympy.core.mulr   sympy.core.symbolr   	sympy.abcr   r   r+   r-   r.   r0   r:   r>   r@   rB   r   r   r   r   <module>   s     (