o
    ۾i'                     @   sx   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d	 Z
d
d ZG dd deZedkr:e  dS dS )z'
Test generic manipulation of objects.
    N)jit)types)TestCasec                   @   s   e Zd ZdS )CN)__name__
__module____qualname__ r	   r	   L/home/ubuntu/.local/lib/python3.10/site-packages/numba/tests/test_objects.pyr      s    r   c                 C   s
   || _ d S Nx)ovr	   r	   r
   setattr_usecase   s   
r   c                 C   s   | ` d S r   r   )r   r	   r	   r
   delattr_usecase   s   r   c                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
TestAttributesc                 C   s>   t }ttjtjfdd|}t }||d | |jd d S NTforceobj{   )r   r   r   pyobjectint32r   assertEqualr   selfpyfunccfunccr	   r	   r
   test_setattr   s
   
zTestAttributes.test_setattrc                 C   sX   t }ttjtjfdd|}| t |t d W d    d S 1 s%w   Y  d S r   )r   r   r   r   r   assertRaisesAttributeErrorobjectr   r   r   r	   r	   r
   test_setattr_attribute_error    s
   "z+TestAttributes.test_setattr_attribute_errorc                 C   sb   t }ttjfdd|}t }d|_|| | t |j W d    d S 1 s*w   Y  d S r   )r   r   r   r   r   r   r    r!   r   r	   r	   r
   test_delattr'   s   "zTestAttributes.test_delattrc                 C   sR   t }ttjfdd|}| t |t  W d    d S 1 s"w   Y  d S )NTr   )r   r   r   r   r    r!   r   r#   r	   r	   r
   test_delattr_attribute_error0   s
   "z+TestAttributes.test_delattr_attribute_errorN)r   r   r   r   r$   r%   r&   r	   r	   r	   r
   r      s
    	r   __main__)__doc__unittestnumbar   
numba.corer   numba.tests.supportr   r"   r   r   r   r   r   mainr	   r	   r	   r
   <module>   s     