U
    ZÊ¹jz  ã                   @   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/bwave/python/venv/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ƒs�t‚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   	

	
