o
    *ήcY                     @   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
mZ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d Zdd ZdS )    )S)
	null_safeexhaustmemoize	conditionchaintryitdo_onedebugswitchminimizec                  C   sH   dd } t | }| d|dksJ | dd ksJ |ddks"J d S )Nc                 S   s   | dkrdS d S N       exprr   r   G/tmp/pip-target-vg8gfxp4/lib/python/sympy/strategies/tests/test_core.pyrl   s   ztest_null_safe.<locals>.rlr      )r   r   safe_rlr   r   r   test_null_safe   s
   r   c                 C   s   | dkr| d S | S )Nr   r   r   xr   r   r   posdec   s   r   c                  C   s,   t t} | ddksJ | ddksJ d S )N   r   
   )r   r   )sinkr   r   r   test_exhaust   s   r   c                  C   sH   t t} | dtdksJ | dtdksJ | dtdks"J d S )Nr   )r   r   r   r   r   r   test_memoize   s   r"   c                  C   s2   t dd t} | ddksJ | ddksJ d S )Nc                 S   s   | d dkS )Nr   r   r   r   r   r   r   <lambda>    s    z test_condition.<locals>.<lambda>r      r   )r   r   r!   r   r   r   test_condition   s   r%   c                  C   s.   t tt} | ddksJ | ddksJ d S )Nr   r   r   r   )r   r   r!   r   r   r   
test_chain$   s   
r&   c                  C   s*   dd } t | t}|tddksJ d S )Nc                 S   s   J Nr   r   r   r   r   r   *   s   ztest_tryit.<locals>.rlr   )r   AssertionErrorr   r   r   r   r   
test_tryit)   s   
r)   c                  C   s\   t tt} | ddksJ dd }dd }t ||}|ddks"J ||ddks,J d S )	Nr   r$   c                 S      | dkrdS | S r   r   r   r   r   r   r#   3       ztest_do_one.<locals>.<lambda>c                 S   r*   )Nr   r   r   r   r   r   r   r#   4   r+   r   r   r   )r	   r   )r   rl1rl2ruler   r   r   test_do_one/   s   

r/   c                  C   s^   ddl m}  |  }tt|}|d | }|  tj|v s!J d|v s'J d|v s-J d S )Nr   )StringIOr   54)ior0   r
   r   getvalueclose__name__)r0   filer   logr   r   r   
test_debug:   s   
r9   c                  C   s\   dd } dd }dd }t || |d}|ddksJ |ddks$J |ddks,J d S )	Nc                 S      | d S Nr   r   r   r   r   r   r#   G       ztest_switch.<locals>.<lambda>c                 S      | d S r;   r   r   r   r   r   r#   H   r<   c                 S   s   | d S )Nr   r   r   r   r   r   r#   I   r<   )r   r   r   r$   r   )r   )incdeckeyr   r   r   r   test_switchF   s   rA   c                  C   sP   dd } dd }t | |}|ddksJ t | |dd d}|ddks&J d S )	Nc                 S   r:   r;   r   r   r   r   r   r#   Q   r<   ztest_minimize.<locals>.<lambda>c                 S   r=   r;   r   r   r   r   r   r#   R   r<   r$   r   c                 S   s   |  S r'   r   r   r   r   r   r#   V   s    )	objectiver   )r   )r>   r?   r   r   r   r   test_minimizeP   s   
rC   N)sympy.core.singletonr   sympy.strategies.corer   r   r   r   r   r   r	   r
   r   r   r   r   r   r"   r%   r&   r)   r/   r9   rA   rC   r   r   r   r   <module>   s    0

