U
    iâËdI  ã                   @   s>   d Z ddlmZ ddlZG dd„ dejƒZedkr:e ¡  dS )z&
Test setting/overriding error models
é    )ÚjitNc                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestErrorModelc              	   C   s.   t dd„ ƒ}|  t¡� |dƒ W 5 Q R X d S )Nc                 S   s   d|  S ©Né   © ©Úvalr   r   úU/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numba/tests/test_errormodels.pyÚmodel_python   s    z<TestErrorModel.test_div_by_zero_python.<locals>.model_pythonr   )r   ÚassertRaisesÚZeroDivisionError)Úselfr
   r   r   r	   Útest_div_by_zero_python   s    
z&TestErrorModel.test_div_by_zero_pythonc                 C   s*   t dd�dd„ ƒ}|  |dƒtdƒ¡ d S )NÚnumpy)Zerror_modelc                 S   s   d|  S r   r   r   r   r   r	   Úmodel_numpy   s    z:TestErrorModel.test_div_by_zero_numpy.<locals>.model_numpyr   Úinf)r   ÚassertEqualÚfloat)r   r   r   r   r	   Útest_div_by_zero_numpy   s    
z%TestErrorModel.test_div_by_zero_numpyN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r	   r   	   s   r   Ú__main__)Ú__doc__Znumbar   ZunittestZTestCaser   r   Úmainr   r   r   r	   Ú<module>   s
   