o
    8ήc0	                     @   sD   d Z ddlZddlmZ ddlmZ ddlmZ G dd deZdS )z&
Unit-tests for `typedobjectutils.py`
    N)types)TestCase)_sentry_safe_castc                   @   s   e Zd Zdd Zdd ZdS )TestTypedObjectUtilsc                 C   s  g }|t jt jft jt jft jt jft jt jft jt jft jt jft jt jft 	t jgt 	t jgfg7 }|D ]L\}}| j
||d9 tjdd}t|| W d    n1 sZw   Y  | t|d | d||t|d  W d    n1 sw   Y  q8d S )NfromtytotyTrecord   zunsafe cast from {} to {}r   )r   int32int16uint32int64float64float32
complex128	complex64TuplesubTestwarningscatch_warningsr   assertEquallenassertInformatstr)self
warn_casesr   r   w r    H/tmp/pip-target-vg8gfxp4/lib/python/numba/tests/test_typedobjectutils.pytest_sentry_safe_cast_warnings   s0   








z3TestTypedObjectUtils.test_sentry_safe_cast_warningsc                 C   s   g }|t jt jft jt jft jt jft jt jft jt jft jt jft jt jft jt jft t jgt t jgfg	7 }|D ]>\}}| j	||d+ t
jdd}t|| W d    n1 s_w   Y  | t|d W d    n1 svw   Y  q=d S )Nr   Tr	   r   )r   r   r   uint8r   r   r   r   r   r   r   r   r   r   r   )r   ok_casesr   r   r   r    r    r!   test_sentry_safe_cast_no_warn+   s*   







z2TestTypedObjectUtils.test_sentry_safe_cast_no_warnN)__name__
__module____qualname__r"   r%   r    r    r    r!   r      s    r   )	__doc__r   
numba.corer   numba.tests.supportr   numba.typed.typedobjectutilsr   r   r    r    r    r!   <module>   s    