U
    9%e
                     @   s   d Z ddlZddlmZ ddlmZmZ ddlmZ ddl	m
Z
 e Zde_e Zde_e ZG dd	 d	eZd
d Zdd ZG dd de
Zedkre  dS )z'
Test generic manipulation of objects.
    N)njit)compile_isolatedFlags)types)TestCaseTc                   @   s   e Zd ZdS )CN)__name__
__module____qualname__ r   r   W/var/www/html/Darija-Ai-API/env/lib/python3.8/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efddZefddZefddZefddZd	S )
TestAttributesc                 C   sB   t }t|tjtjf|d}|j}t }||d | |jd d S Nflags{   )	r   r   r   pyobjectint32entry_pointr   assertEqualr   selfr   pyfunccrcfunccr   r   r   test_setattr!   s    
zTestAttributes.test_setattrc              	   C   sF   t }t|tjtjf|d}|j}| t |t d W 5 Q R X d S r   )	r   r   r   r   r   r   assertRaisesAttributeErrorobjectr   r   r   r    r!   r   r   r   test_setattr_attribute_error)   s
    z+TestAttributes.test_setattr_attribute_errorc              	   C   sP   t }t|tjf|d}|j}t }d|_|| | t |j W 5 Q R X d S r   )	r   r   r   r   r   r   r   r$   r%   r   r   r   r   test_delattr1   s    zTestAttributes.test_delattrc              	   C   s@   t }t|tjf|d}|j}| t |t  W 5 Q R X d S )Nr   )r   r   r   r   r   r$   r%   r   r'   r   r   r   test_delattr_attribute_error;   s
    z+TestAttributes.test_delattr_attribute_errorN)r   r	   r
   enable_pyobj_flagsr#   r(   r)   r*   r   r   r   r   r       s   
r   __main__)__doc__ZunittestZnumbar   Znumba.core.compilerr   r   Z
numba.corer   Znumba.tests.supportr   r+   Zenable_pyobjectZforce_pyobj_flagsZforce_pyobjectZno_pyobj_flagsr&   r   r   r   r   r   mainr   r   r   r   <module>   s    $