U
    #c                     @   s8   d dl Z d dlZd dlZe jddd Zdd ZdS )    Nerrorc               	   C   sD   G dd d} | t d}tjtdd t | W 5 Q R X d S )Nc                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )z%test_getattr_warning.<locals>.Wrapperc                 S   s
   || _ d S N)array)selfr    r   C/tmp/pip-unpacked-wheel-b2rbor69/numpy/core/tests/test_protocols.py__init__   s    z.test_getattr_warning.<locals>.Wrapper.__init__c                 S   s
   t | jS r   )lenr   r   r   r   r   __len__   s    z-test_getattr_warning.<locals>.Wrapper.__len__c                 S   s   t | | j| S r   )typer   )r   itemr   r   r   __getitem__   s    z1test_getattr_warning.<locals>.Wrapper.__getitem__c                 S   s&   | drtjdtdd t| j|S )NZ__array_object got converted   )
stacklevel)
startswithwarningswarnUserWarninggetattrr   )r   namer   r   r   __getattr__   s    
z1test_getattr_warning.<locals>.Wrapper.__getattr__c                 S   s   dj | dS )Nz<Wrapper({self.array})>r
   )formatr
   r   r   r   __repr__   s    z.test_getattr_warning.<locals>.Wrapper.__repr__N)__name__
__module____qualname__r   r   r   r   r   r   r   r   r   Wrapper
   s
   r   
   r   )match)npZarangepytestZraisesr   Zasarray)r   r   r   r   r   test_getattr_warning   s    r#   c                  C   sF   G dd d} |  }t j|td}|jdks0t|d | jksBtd S )Nc                   @   s   e Zd ZdZdddZdS )z"test_array_called.<locals>.WrapperZd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Nc                 S   s   t j| jgtdS )Ndtype)r!   r   valobject)r   resultr   r   r   	__array__%   s    z,test_array_called.<locals>.Wrapper.__array__)N)r   r   r   r&   r)   r   r   r   r   r   #   s   r   r$   ZU100r   )r!   r   strr%   AssertionErrorr&   )r   wrappedZarrr   r   r   test_array_called"   s
    r-   )r"   r   Znumpyr!   markfilterwarningsr#   r-   r   r   r   r   <module>   s
   

