o
    เ8Va2  ใ                   @   sข   d dl mZ d dlmZmZmZmZ d dlmZm	Z	 d dl
mZ d dlmZ ededZ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 )้    )ฺrewriterule)ฺsinฺBasicฺSymbolฺSฉฺxฺy)ฺrebuild)ฺQฺpฺqc                  C   s   t ttdttdtfd} t| tddtddgksJ td }td }t ||tfd} td }t| |td gks@J d S ฉN้   ้   )Z	variables้   )r   r   r   ฺlistr   )ฺrlฺp1ฺp2ฺexprฉ r   ๚@/usr/lib/python3/dist-packages/sympy/unify/tests/test_rewrite.pyฺtest_simple	   s   "r   c                  C   sx   t ttdttdtfd} t| tddtddgksJ t td td tfd} t| td td gks:J d S r   )r   r   r   r   r	   ฉr   r   r   r   ฺtest_simple_variables   s   ""r   c                  C   s^   t d td  } t t d }t| |t tf}td td  }t||tt d gks-J d S )Nr   r   ้   )r   r   r   r   r	   r   )r   r   r   r   r   r   r   ฺtest_moderate   s
   "r   c                  C   s   t td t td  } d}t| |ttf}t|t td t td  dgks+J t|t td t td  dgks@J d S )Nr   r   )r   r   r   r   r   r   r	   )r   r   r   r   r   r   ฺtest_sincos#   s
   *.r   c                  C   sB   t tt tt ttf} t| tt j tt| tt  d S ฉN)r   r   r   ฺnextr   r	   Zis_commutativeฺstrr   r   r   r   ฺtest_Exprs_ok+   s   r"   c                  C   sL   t ttd tgdd } t| tdrJ tt| tddks$J d S )Nr   c                 S   s   | dk S )N้
   r   )r   r   r   r   ฺ<lambda>1   s    z'test_condition_simple.<locals>.<lambda>้   ้   ้   )r   r   r   r   r
   r    r   r   r   r   ฺtest_condition_simple0   s    r(   c                  C   s   t tt tt ttgdd } td}tddd}|| }t| ||| gks*J tddd}tddd}t| || || || hksHJ d S )	Nc                 S   s   | j S r   )ฺ
is_integerr   r   r   r   r$   7   s    z)test_condition_multiple.<locals>.<lambda>ฺaฺbT)ฺintegerฺcฺd)r   r   r	   r   r   ฺset)r   r*   r+   r   r-   r.   r   r   r   ฺtest_condition_multiple6   s   (r0   c                  C   s^   t tt tt ttgt tกd} ttd\}}|| }t| |t |ก|| gks-J d S )N)Zassumeฺab)r   r   r	   r   r,   ฺmapr   r   )r   r*   r+   r   r   r   r   ฺtest_assumptionsB   s   "&r3   N)Zsympy.unify.rewriter   Zsympyr   r   r   r   Z	sympy.abcr   r	   Zsympy.strategies.rlr
   Zsympy.assumptionsr   r   r   r   r   r   r   r"   r(   r0   r3   r   r   r   r   ฺ<module>   s    