o
    1ήc                     @   s:   d dl Z d dlZd dlmZmZmZmZ G dd dZdS )    N)assert_assert_raisesassert_array_equalHAS_REFCOUNTc                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestTakec                 C   s  ddgddgg}ddgddgg}g d	}d
dg}t jdt jdt jt t jdt jdt jdg}dtdddddddd	}ttt dgf}|D ]}t jt 	|t j
rW|n||d}	t|	j }
|D ]n}|jdkr|d|j |
d _d|j |
d _|D ]T}|D ]O}|| | }|tu r|jdkr|d| tt|	j||dd q|jdkr|d| |	j||dd}t||
|  q|	j||dd}t|jd|j k qq~qeqJd S )N               1   2   3   4)raisewrapclipr   dtype)r   r   )r   r
   ) i2r	   )r   )modeaxis)npemptyintptuple
IndexErrorintobjectr   array
issubdtypenumberlistTcopysizeshapeputr   taker   r   )selfaa_strmodesindicesindex_arraysreal_indicestypesttatresultindex_arrayr   index
real_indexres r9   K/tmp/pip-target-vg8gfxp4/lib/python/numpy/core/tests/test_item_selection.pytest_simple
   sL    


zTestTake.test_simplec                 C   s   dd t dD }dD ]N}t|}tg d}|j||d d |d ~tr3ttdd	 |D  t|d
 d d d
 }|j||d d |d ~trYttdd	 |D  qd S )Nc                 S   s   g | ]}t  qS r9   )r   ).0ir9   r9   r:   
<listcomp>2   s    z-TestTake.test_refcounting.<locals>.<listcomp>
   )r   r   r   )r   r   r
      r	   r@      )outr   c                 s       | ]
}t |d kV  qdS r	   Nsysgetrefcountr<   or9   r9   r:   	<genexpr>9       z,TestTake.test_refcounting.<locals>.<genexpr>r   c                 s   rC   rD   rE   rH   r9   r9   r:   rJ   ?   rK   )ranger   r    r)   r   r   all)r*   objectsr   r+   br9   r9   r:   test_refcounting1   s   
zTestTake.test_refcountingc                 C   s*   t d}dd}tt|jd|d d S )Nr?   s   äUTF8r@   )r   )r   arangedecoder   
ValueErrorr)   )r*   dkr9   r9   r:   test_unicode_modeA   s   

zTestTake.test_unicode_modec                 C   s:   t g d}| }|t jg t jd t|| d S )Nr   r   r
   rA      r?   r   )r   r    r%   	partitionint16r   )r*   
a_originalr+   r9   r9   r:   test_empty_partitionF   s   zTestTake.test_empty_partitionc                 C   s@   t g d}|t jg t jd}t g d}t|| d S )NrX   r   )r   r   r   r	   r
   r@   )r   r    argpartitionr[   r   )r*   r+   rO   r9   r9   r:   test_empty_argpartitionP   s   z TestTake.test_empty_argpartitionN)__name__
__module____qualname__r;   rP   rW   r]   r_   r9   r9   r9   r:   r   	   s    '
r   )	rF   numpyr   numpy.testingr   r   r   r   r   r9   r9   r9   r:   <module>   s    