U
    9%ez                     @   s   d dl Z d dl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d Zdd Zdd Zdd Zdd Zd7d!d"Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 Zd1d2 Zd3d4 Z d5d6 Z!dS )8    N)raiseswarnsignore_warningswarns_deprecated_sympyFailedsympy_deprecation_warningc                  C   s   dd } t t|  d S )Nc                   S   s
   t  d S N
ValueError r   r   ^/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/testing/tests/test_pytest.pyf   s    z5test_expected_exception_is_silent_callable.<locals>.fr   r   )r   r   r   r   *test_expected_exception_is_silent_callable   s    r   c               
   C   sR   zt tdd  dstW n2 tk
rL }  zdt| ks<tW 5 d } ~ X Y nX d S )Nc                   S   s   dS )N   r   r   r   r   r   <lambda>       zItest_lack_of_exception_triggers_AssertionError_callable.<locals>.<lambda>FDID NOT RAISEr   	ExceptionAssertionErrorr   strer   r   r   7test_lack_of_exception_triggers_AssertionError_callable   s
    r   c               
   C   sV   dd } zt t|  dstW n2 tk
rP } zt|dks@tW 5 d }~X Y nX d S )Nc                   S   s   t dd S )Nsome error messager
   r   r   r   r   r      s    z?test_unexpected_exception_is_passed_through_callable.<locals>.fFr   )r   	TypeErrorr   r   r   )r   r   r   r   r   4test_unexpected_exception_is_passed_through_callable   s    
r   c                	   C   s   t t t W 5 Q R X d S r	   r   r   r   r   r   &test_expected_exception_is_silent_with&   s    
r   c               
   C   sX   z t t W 5 Q R X dstW n2 tk
rR }  zdt| ksBtW 5 d } ~ X Y nX d S )NFr   r   r   r   r   r   3test_lack_of_exception_triggers_AssertionError_with+   s    

r    c               
   C   s`   z(t t tdW 5 Q R X ds&tW n2 tk
rZ }  zt| dksJtW 5 d } ~ X Y nX d S )Nr   F)r   r   r   r   r   r   r   r   r   0test_unexpected_exception_is_passed_through_with4   s    
r!   c                   C   s   t tdd  d S )Nc                   S   s
   t ddS )NZ
irrelevant*   )r   r   r   r   r   r   A   r   zCtest_second_argument_should_be_callable_or_string.<locals>.<lambda>)r   r   r   r   r   r   1test_second_argument_should_be_callable_or_string@   s    r#   c               
   C   sJ   t jdd4} tt t d W 5 Q R X t| dks<tW 5 Q R X d S NTrecordthis is the warning messager   warningscatch_warningsr   UserWarningwarnlenr   wr   r   r   test_warns_catches_warningD   s    
r0   c                
   C   s,   t t tt W 5 Q R X W 5 Q R X d S r	   )r   r   r   r+   r   r   r   r   !test_warns_raises_without_warningK   s    

r1   c                
   C   sD   t t2 tt tdt tdt W 5 Q R X W 5 Q R X d S )Nr'   this is the other message)r   RuntimeWarningr   r+   r)   r,   r   r   r   r   test_warns_hides_other_warningsQ   s    

r4   c               
   C   sZ   t jddD} d}tt t d d}W 5 Q R X |s<tt| dksLtW 5 Q R X d S NTr%   Fr'   r   )r)   r*   r   r+   r,   r   r-   r/   finishedr   r   r   "test_warns_continues_after_warningX   s    

r8   c                	   C   s0   t t tdt tdt W 5 Q R X d S )Nr'   z!this is the other warning message)r   r+   r)   r,   r   r   r   r   test_warns_many_warningsb   s    
r9   c               
   C   sP   t jdd:} ttdd t dt W 5 Q R X t| dksBtW 5 Q R X d S )NTr%   r'   matchr   r(   r.   r   r   r   test_warns_match_matchingh   s    r<   c                  C   sd   t jddN} tt* ttdd t dt W 5 Q R X W 5 Q R X t| dksVtW 5 Q R X d S )NTr%   r'   r:   z(this is not the expected warning messager   )	r)   r*   r   r   r   r+   r,   r-   r   r.   r   r   r   test_warns_match_non_matchingo   s
    
 r=      c                 C   s   t ddd| d d S )Nfeaturezactive-deprecationsz0.0.0)Zactive_deprecations_targetZdeprecated_since_version
stacklevelr   r@   r   r   r   _warn_sympy_deprecationv   s    rB   c               
   C   sD   t jdd.} t  t  W 5 Q R X t| dks6tW 5 Q R X d S NTr%   r   )r)   r*   r   rB   r-   r   r.   r   r   r   +test_warns_deprecated_sympy_catches_warning~   s    rD   c                
   C   s*   t t t  W 5 Q R X W 5 Q R X d S r	   )r   r   r   r   r   r   r   2test_warns_deprecated_sympy_raises_without_warning   s    
rE   c                
   C   s4   t t" t  tdd W 5 Q R X W 5 Q R X d S )N   rA   )r   r   r   rB   r   r   r   r   ,test_warns_deprecated_sympy_wrong_stacklevel   s    
rG   c                
   C   s<   t t* t  t  tdt W 5 Q R X W 5 Q R X d S )Nr2   )r   r3   r   rB   r)   r,   r   r   r   r   6test_warns_deprecated_sympy_doesnt_hide_other_warnings   s    
rH   c               
   C   sT   t jdd>} d}t  t  d}W 5 Q R X |s6tt| dksFtW 5 Q R X d S )NTr%   Fr   )r)   r*   r   rB   r   r-   r6   r   r   r   3test_warns_deprecated_sympy_continues_after_warning   s    rI   c               
   C   sJ   t jdd4} tt t d W 5 Q R X t| dks<tW 5 Q R X d S r$   )r)   r*   r   r+   r,   r-   r   r.   r   r   r   test_ignore_ignores_warning   s    
rJ   c               
   C   s@   t jdd*} tt W 5 Q R X t| dks2tW 5 Q R X d S rC   )r)   r*   r   r+   r-   r   r.   r   r   r   *test_ignore_does_not_raise_without_warning   s    

rK   c               
   C   s   t jddv} t d tt t dt t dt W 5 Q R X t| dksTtt	| d j
tshtt| d j
dks~tW 5 Q R X d S )NTr%   alwaysr'   r2   rF   r   r)   r*   simplefilterr   r+   r,   r3   r-   r   
isinstancemessager   r.   r   r   r   !test_ignore_allows_other_warnings   s    

rQ   c               
   C   sZ   t jddD} d}tt t d d}W 5 Q R X |s<tt| dksLtW 5 Q R X d S r5   )r)   r*   r   r+   r,   r   r-   r6   r   r   r   #test_ignore_continues_after_warning   s    

rR   c               
   C   s   t jdd} t d ttB t dt t dt t dt t dt t dt W 5 Q R X t| dksxt| D ]&}t	|j
tstt|j
dks|tq|W 5 Q R X d S )NTr%   rL   r'   r2   r>   rM   )r/   Zwir   r   r   test_ignore_many_warnings   s    

rS   )r>   )"r)   Zsympy.testing.pytestr   r   r   r   r   Zsympy.utilities.exceptionsr   r   r   r   r   r    r!   r#   r0   r1   r4   r8   r9   r<   r=   rB   rD   rE   rG   rH   rI   rJ   rK   rQ   rR   rS   r   r   r   r   <module>   s6   	

	
