U
    ZÊ¹j�  ã                   @   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s2t‚| ttdƒtdƒƒƒttdƒƒksXt‚| ttdƒtdƒƒƒttdƒtdƒƒks„t‚d S )Nc                 S   s   | dkS ©Nr   © r   r   r   ú]/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/strategies/tests/test_rl.pyÚ<lambda>   ó    ztest_rm_id.<locals>.<lambda>r   é   é   )r   r   r   ÚAssertionError)Zrmzerosr   r   r   Ú
test_rm_id   s    &&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sht‚d S )Nc                 S   s   |   ¡ d S )Nr   ©Zas_coeff_Mulr   r   r   r   Úkey   s    ztest_glom.<locals>.keyc                 S   s   |   ¡ d S r   r   r   r   r   r   Úcount   s    ztest_glom.<locals>.countc                 S   s   | | S )Nr   )ZcntÚargr   r   r   Únewargs   s    ztest_glom.<locals>.newargsé   r   F©Úevaluateé   )r   r   r   ÚsetÚargsr   )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sHt‚d S )Nr   r   r   é   )r   r   r   r   r   r   r   r   Útest_flatten#   s    $ÿr*   c                   C   sH   t ttdƒƒƒdkst‚t ttdƒtdƒƒƒttdƒtdƒƒksDt‚d S )Nr   r   )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<t‚d S )Nr   r   r   )r   Ústrr   r   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s˜t‚|| tdƒtdƒtdƒƒƒ| tdƒtdƒtdƒƒksÐt‚d S )
Nc                   @   s   e Zd ZdS )ztest_distribute.<locals>.T1N©Ú__name__Ú
__module__Ú__qualname__r   r   r   r   ÚT12   s   r2   c                   @   s   e Zd ZdS )ztest_distribute.<locals>.T2Nr.   r   r   r   r   ÚT25   s   r3   r   r   r   r)   r"   )r   r   r   r   )r2   r3   Zdistribute_t12r   r   r   Útest_distribute1   s    
*<ÿr4   c                  C   sT   t dƒ\} }tdt| |ƒdd�}ttd| ƒtd|ƒƒ}tttƒ}||ƒ|ksPt‚d S )Nzx, yr   Fr    )r   r   r   r   r   )r   ÚyÚexprr'   Zdistribute_mulr   r   r   Útest_distribute_add_mul>   s
    
r7   c                  C   s.   t ddƒ} | dƒdkst‚| dƒdks*t‚d S ©Nr   r   r   )r	   r   )r%   r   r   r   Ú	test_subsF   s    
r9   c                  C   s*   t  ttdƒtdƒ¡} t| ƒdks&t‚d S r8   )r   Ú__new__r   r   r
   r   )r6   r   r   r   Útest_rebuildL   s    r;   N)Zsympy.core.singletonr   Zsympy.strategies.rlr   r   r   r   r   r   r	   r
   Zsympy.core.basicr   Zsympy.core.addr   Zsympy.core.mulr   Zsympy.core.symbolr   Z	sympy.abcr   r   r(   r*   r+   r-   r4   r7   r9   r;   r   r   r   r   Ú<module>   s   (