o
    1Î®c
  ã                   @   s*   d dl Zd dlmZmZ G dd„ dƒZdS )é    N)Úassert_raisesÚassert_raises_regexc                   @   sP   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dd„ ZdS )ÚTestIndexErrorsz9Tests to exercise indexerrors not covered by other tests.c                 C   sb   t  d¡}tt|jdgdd tt|jdgdd tt|jdgddd tt|jdgddd d	S )
ztake from a 0-length dimension)é   é   r   é   r   r   ©Úaxisé   Úwrap)r	   ÚmodeÚclipN)ÚnpÚemptyr   Ú
IndexErrorÚtake)ÚselfÚx© r   úH/tmp/pip-target-vg8gfxp4/lib/python/numpy/core/tests/test_indexerrors.pyÚtest_arraytypes_fasttake
   s
   
z(TestIndexErrors.test_arraytypes_fasttakec                 C   s   t jdtd}tt|jdgƒ t jdtd}tt|jdgdd tt|jdgdd tt|jdgƒ tt|jdgdd	 tt|jdgd
d	 d S )Né   ©Údtypeé   ©r   r   r
   r   r   r   )r   r   )r   ÚzerosÚobjectr   r   r   )r   Údr   r   r   Útest_take_from_object   s   z%TestIndexErrors.test_take_from_objectc                 C   sx   t jdtd}tt|jdƒ t jdtd}tt|jdƒ t jdtd}tt|jddƒ t jdtd}tt|jddƒ d S )Nr   r   é   r   )r   r   r   )r   r   r   r   r   ÚitemÚitemset©r   Úar   r   r   Útest_multiindex_exceptions   s   z*TestIndexErrors.test_multiindex_exceptionsc                 C   st   t  d¡}tt|jddƒ t jdtd}tt|jddƒ t  d¡}tt|jddƒ t jdtd}tt|jddƒ d S )N)r   r   éd   r   r   )r   r   r   )r   r   r   r   Úputr   r#   r   r   r   Útest_put_exceptions*   s   

z#TestIndexErrors.test_put_exceptionsc                    sÒ  dd„ ‰t  g d¢¡‰ tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ ‡fdd„ƒ tt‡ ‡fdd„ƒ t  g d	¢¡‰ tt‡ fd
d„ƒ tt‡ ‡fdd„ƒ t  g d¢¡‰ tt‡ fdd„ƒ tt‡ ‡fdd„ƒ t  g d	¢¡‰ tt‡ fdd„ƒ tt‡ ‡fdd„ƒ t  g d¢¡‰ tt‡ fdd„ƒ tt‡ ‡fdd„ƒ t  g d	¢¡‰ tt‡ fdd„ƒ tt‡ ‡fdd„ƒ t  g d¢¡‰ tt‡ fdd„ƒ tt‡ ‡fdd„ƒ t  g d	¢¡‰ tt‡ fdd„ƒ tt‡ ‡fdd„ƒ dS )zcases in iterators.cc                 S   ó   || |< d S ©Nr   ©ÚobjÚindÚvalr   r   r   Úassign6   ó   z9TestIndexErrors.test_iterators_exceptions.<locals>.assign)r
   r   r   c                      ó   ˆ d S )N©r   r   Nr   r   r   ©r$   r   r   Ú<lambda>:   ó    z;TestIndexErrors.test_iterators_exceptions.<locals>.<lambda>c                      r1   )N©r   r   r   r   r   r   r3   r   r   r4   ;   r5   c                      ó   ˆˆ ddƒS )Nr2   r
   r   r   ©r$   r/   r   r   r4   <   ó    c                      r7   )Nr6   r
   r   r   r8   r   r   r4   =   r9   )r
   r   r   c                      r1   )N©r   r   Nr   r   r   r3   r   r   r4   @   r5   c                      r7   )Nr:   r
   r   r   r8   r   r   r4   A   r9   c                      ó
   ˆ j d S ©Né
   ©Úflatr   r3   r   r   r4   D   ó   
 c                      ó   ˆˆ j ddƒS ©Nr=   r   r>   r   r8   r   r   r4   E   ó    c                      r;   r<   r>   r   r3   r   r   r4   G   r@   c                      rA   rB   r>   r   r8   r   r   r4   H   rC   c                      ó   ˆ j t d¡ S r<   ©r?   r   Úarrayr   r3   r   r   r4   K   ó    c                      ó   ˆˆ j t d¡dƒS rB   rE   r   r8   r   r   r4   L   ó    c                      rD   r<   rE   r   r3   r   r   r4   N   rG   c                      rH   rB   rE   r   r8   r   r   r4   O   rI   c                      ó   ˆ j t dg¡ S r<   rE   r   r3   r   r   r4   R   ó    c                      ó   ˆˆ j t dg¡dƒS rB   rE   r   r8   r   r   r4   S   ó    c                      rJ   r<   rE   r   r3   r   r   r4   U   rK   c                      rL   rB   rE   r   r8   r   r   r4   V   rM   N©r   r   r   r   ©r   r   r8   r   Útest_iterators_exceptions4   s6   z)TestIndexErrors.test_iterators_exceptionsc                    s$  dd„ ‰t  d¡‰ tt‡ fdd„ƒ t  d¡‰ tt‡ fdd„ƒ tt‡ ‡fdd„ƒ t  d	¡‰ tt‡ fd
d„ƒ tt‡ ‡fdd„ƒ t  d¡‰ tt‡ ‡fdd„ƒ t  d¡‰ tt‡ ‡fdd„ƒ t  d¡‰ tt‡ fdd„ƒ tt‡ ‡fdd„ƒ t  d	¡‰ tt‡ fdd„ƒ tt‡ ‡fdd„ƒ dS )zcases from mapping.cc                 S   r)   r*   r   r+   r   r   r   r/   [   r0   z,TestIndexErrors.test_mapping.<locals>.assign)r   r=   c                      r1   )Né   r   r   r3   r   r   r4   _   r5   z.TestIndexErrors.test_mapping.<locals>.<lambda>©r   r   c                      r1   )N©r=   r    r   r   r3   r   r   r4   b   r5   c                      r7   )NrS   r
   r   r   r8   r   r   r4   c   r9   )r   r   c                      r1   )N©r
   r   r   r   r3   r   r   r4   e   r5   c                      r7   )NrT   r
   r   r   r8   r   r   r4   f   r9   )r=   c                      r7   ©Nr=   r
   r   r   r8   r   r   r4   i   r9   )r   c                      r7   rU   r   r   r8   r   r   r4   k   r9   c                      s   ˆ dddgf S ©Nr
   r    r   r   r3   r   r   r4   n   rG   c                      s   ˆˆ dddgfdƒS rV   r   r   r8   r   r   r4   o   rI   c                      s   ˆ dddgf S ©Nr
   r   r   r   r3   r   r   r4   q   rG   c                      s   ˆˆ dddgfdƒS rW   r   r   r8   r   r   r4   r   rI   NrN   rO   r   r8   r   Útest_mappingX   s&   






zTestIndexErrors.test_mappingc                    s(   t  d¡‰ d‰ttd‡ ‡fdd„ƒ d S )NrR   )r
   r   r   r   r   zFtoo many indices for array: array is 2-dimensional, but 5 were indexedc                      s   ˆ ˆ S r*   r   r   ©r$   Úindexr   r   r4   {   r5   z<TestIndexErrors.test_mapping_error_message.<locals>.<lambda>)r   r   r   r   rO   r   rY   r   Útest_mapping_error_messaget   s   
üz*TestIndexErrors.test_mapping_error_messagec                    s`   t  d¡‰ tt‡ fdd„ƒ tt‡ fdd„ƒ t  d¡‰ tt‡ fdd„ƒ tt‡ fdd„ƒ dS )	zcases from methods.c)r   r   c                      ó
   ˆ   d¡S ©Nr&   ©r!   r   r3   r   r   r4      r@   z.TestIndexErrors.test_methods.<locals>.<lambda>c                      ó   ˆ   dd¡S ©Nr&   r
   ©r"   r   r3   r   r   r4   ‚   r9   )r   r   c                      r\   r]   r^   r   r3   r   r   r4   „   r@   c                      r_   r`   ra   r   r3   r   r   r4   …   r9   NrN   rO   r   r3   r   Útest_methods}   s   

zTestIndexErrors.test_methodsN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r%   r(   rP   rX   r[   rb   r   r   r   r   r      s    
$	r   )Únumpyr   Únumpy.testingr   r   r   r   r   r   r   Ú<module>   s    