o
    V=ºiRs  ã                   @   st   d Z ddlZddlmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZ ddlZG dd„ dƒZG dd„ dƒZdS )	z-Test functions for 1D array set operations.

é    N)Úassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regex)Úediff1dÚintersect1dÚsetxor1dÚunion1dÚ	setdiff1dÚuniqueÚin1dÚisinc                   @   sò  e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zej	 
dejg d¢ejd�dejdfejg d¢ejd�ejg d¢ejd�ddfejg d¢ejd�ejejdfg¡dd„ ƒZej	 
dejg d¢ejd�ddejg d¢ejd�fejg d¢ejd�ejdgejd�dejg d¢ejd�fejg d¢ejd�ddejg d¢ejd�fejg d¢ejd�ddejg d¢ejd�fg¡d d!„ ƒZd"d#„ Zd$d%„ Zd&d'„ Zd(d)„ Zd*d+„ Zd,d-„ Zd.d/„ Zd0d1„ Zd2d3„ Zd4d5„ Zd6d7„ Z d8d9„ Z!d:d;„ Z"d<d=„ Z#d>d?„ Z$dS )@Ú
TestSetOpsc                 C   s”   t  g d¢¡}t  g d¢¡}t  g d¢¡}t||dd�}t||ƒ t  g d¢¡}t  g d¢¡}t  g d¢¡}t||ƒ}t||ƒ tg tg g ƒƒ d S )N©é   é   é   é   ©r   é   é   r   r   )r   r   r   T©Úassume_unique)r   r   r   r   r   )r   r   r   r   r   r   r   )ÚnpÚarrayr   r   )ÚselfÚaÚbÚecÚcZed© r    úfC:\Users\psant\Downloads\PAF backend\school\venv\Lib\site-packages\numpy/lib/tests/test_arraysetops.pyÚtest_intersect1d   s   


zTestSetOps.test_intersect1dc                 C   sL   G dd„ dƒ}|ƒ }t ||ƒ}t||ƒ t g d¢g d¢ƒ}t|g d¢ƒ d S )Nc                   @   s   e Zd Zdd„ ZdS )z4TestSetOps.test_intersect1d_array_like.<locals>.Testc                 S   s
   t  d¡S )Nr   )r   Úarange©r   r    r    r!   Ú	__array__%   s   
z>TestSetOps.test_intersect1d_array_like.<locals>.Test.__array__N)Ú__name__Ú
__module__Ú__qualname__r%   r    r    r    r!   ÚTest$   s    r)   ©r   r   r   )r   r   )r   r)   r   Úresr    r    r!   Útest_intersect1d_array_like"   s   

z&TestSetOps.test_intersect1d_array_likec                 C   sÜ  t  g d¢¡}t  g d¢¡}t||ddd�\}}}t  g d¢¡}t||ƒ t|| |ƒ t|| |ƒ t  g d¢¡}t  g d¢¡}t||dd�\}}}t  g d¢¡}t||ƒ t|| |ƒ t|| |ƒ t  g d	¢g d
¢g¡}t  g d¢g d¢g¡}t||ddd�\}}}t  ||j¡}t  ||j¡}	t  g d¢¡}
t|
|| ƒ t|
||	 ƒ t  g d¢g d¢g¡}t  g d¢g d¢g¡}t||dd�\}}}t  ||j¡}t  ||j¡}	t  g d¢¡}
t|
|| ƒ t|
||	 ƒ d S )N©r   r   r   r   )r   r   r   é   T)r   Úreturn_indices)r   r   r   )r   r   r   r   r   r   r   )r   é   r   r   r   r   r   r   )r/   )r   r   r   r.   )r   r0   r   é   )r   r   r   r.   )é
   é   r0   é	   )r   r.   r   r0   )r   r   r   r.   r.   )r   r   r0   r   r   )r   r   r   r   )r2   r3   r0   r   )r   r   r0   )r   r   r   r   Zunravel_indexÚshape)r   r   r   r   Úi1Úi2ÚeeZefZui1Zui2Zear    r    r!   Útest_intersect1d_indices.   s<   

z#TestSetOps.test_intersect1d_indicesc                 C   sÎ   t  g d¢¡}t  g d¢¡}t  g d¢¡}t||ƒ}t||ƒ t  g d¢¡}t  g d¢¡}t  g d¢¡}t||ƒ}t||ƒ t  g d¢¡}t  g d¢¡}t  g d¢¡}t||ƒ}t||ƒ tg tg g ƒƒ d S )	Nr   r   )r   r   r   r*   )r.   r   r   )r   r   r   r   r   r.   )r   r0   r   r   )r.   r   r   r0   )r   r   r   r   ©r   r   r   r   r   r    r    r!   Útest_setxor1dU   s    





zTestSetOps.test_setxor1dc                 C   s,  t  g ¡}t  dg¡}t  ddg¡}tg t|ƒƒ tdgt|dd�ƒ tdgt|dd�ƒ tddgt|ddd�ƒ tg t|ƒƒ tdgt|ƒƒ tg d¢t|d	d
d�ƒ tg d¢t|ddgd	dgd�ƒ tdd
gt|d
d�ƒ tg d¢t|d	dgd�ƒ td	dgt|d	d�ƒ tg d¢t|ddgd�ƒ d S )Nr   r   r   )Úto_begin)Úto_endéÿÿÿÿ)r<   r=   )r   r   r4   r   r4   )r   r.   r   r   r0   r   r.   r0   )r   r   r0   )r   r.   r   )r   r   r   r   )r   Z	zero_elemZone_elemZtwo_elemr    r    r!   Útest_ediff1dm   s"   
ÿzTestSetOps.test_ediff1dzary, prepend, append, expectedr*   ©ÚdtypeNr=   )r   r   r   r<   )ç      ð?g      @g      "@c                 C   sH   d  |¡}tt|ƒ� t|||d� W d   ƒ d S 1 sw   Y  d S )Nz dtype of `{}` must be compatible©Úaryr=   r<   )Úformatr   Ú	TypeErrorr   )r   rD   ÚprependÚappendÚexpectedÚmsgr    r    r!   Ú!test_ediff1d_forbidden_type_casts€   s   
þ"ÿz,TestSetOps.test_ediff1d_forbidden_type_castszary,prepend,append,expectedi   i  )r   r   r   r   r   )r   r   r   r   )r   r   r   r   r   é÷ÿÿÿ)r   r   r   rL   c                 C   s.   t j|||d�}t||ƒ |j|jksJ ‚d S )NrC   )r   r   r   rA   )r   rD   rG   rH   rI   Úactualr    r    r!   Útest_ediff1d_scalar_handling£   s   þ
z'TestSetOps.test_ediff1d_scalar_handlingc           	         sä   dd„ }t j|tgdhd�‰ ‡ fdd„}t  d¡ g d¢¡}t  g d	¢g d
¢g d¢g¡}|||ƒ ddg}d}|||ƒ t  d¡}|||ƒ |||ƒ |||ƒ |d|ƒ ||dƒ |ddƒ g }|||ƒ |||ƒ |||ƒ d S )Nc                 S   s   t  |¡ ¡  ¡ }| |v S ©N)r   ÚasarrayÚflattenÚtolist)r   r   r    r    r!   Ú
_isin_slowÊ   s   z(TestSetOps.test_isin.<locals>._isin_slowr   )ZotypesZexcludedc                    s"   t | |ƒ}ˆ | |ƒ}t||ƒ d S rO   )r   r   )r   r   ÚxÚy©Z	isin_slowr    r!   Úassert_isin_equalÏ   s   

z/TestSetOps.test_isin.<locals>.assert_isin_equalé   ©r   r   r   )r2   é   é   )r   r   r   )é   é   é!   )r4   r0   )r   r.   )r4   r   r   r   r.   )r   Z	vectorizeÚboolr#   Úreshaper   )	r   rS   rW   r   r   r   ÚdÚfrT   r    rV   r!   Ú	test_isinÆ   s(   










zTestSetOps.test_isinc                 C   s  dD ]å}g d¢}g d¢| }t  g d¢¡}t||dd�}t||ƒ d|d< t  g d	¢¡}t||dd�}t||ƒ d
\|d< |d< t  g d¢¡}t||dd�}t||ƒ t  g d¢¡}g d¢| }g d¢}t||ƒ}t||ƒ |g d¢|  }g d¢}t||ƒ}t||ƒ t  g d¢¡}t  g d¢| ¡}t  g d¢¡}t||ƒ}t||ƒ t  g d¢¡}t  g d¢| ¡}t  g d¢¡}t||ƒ}t||ƒ t  ddg¡}t  ddg| ¡}t  ddg¡}t||ƒ}t||ƒ qt  dg¡}t  dg¡}t  dg¡}t||ƒ}t||ƒ ttg g ƒg ƒ d S )N©r   r2   r   r   )TFTTTr   r0   r   )FFTT)r   r0   r   )TFTF©r   r   r   r   r   r   r   r   r   r   r   r   r   r   rY   )FTFTTTTTTFTFFF)r   r   r   )TTTTTTTTTTTFTT)r   r   r   r   r   )r   r   r   r   r   r   )TFTTTr   r   F©r   r   r   r   )r   Úmultr   r   r   r   r    r    r!   Ú	test_in1dï   sX   













zTestSetOps.test_in1dc                 C   sB   t  g d¢¡}t  ddg¡}t  g d¢¡}t||ƒ}t||ƒ d S )N)r   r   r   ra   Úer   ri   r   r   r   )TFTFFTFFrf   r:   r    r    r!   Útest_in1d_char_array+  s
   
zTestSetOps.test_in1d_char_arrayc                 C   sH   dD ]}t  g d¢¡}g d¢| }tt  t||ƒ¡t||dd�ƒ qdS )zTest in1d's invert parameterrd   re   rY   T©ÚinvertN)r   r   r   rl   r   )r   rg   r   r   r    r    r!   Útest_in1d_invert4  s
   "ýzTestSetOps.test_in1d_invertc                 C   sœ   t  d¡ dd¡}t  dd¡ dd¡}t  dd¡ dd¡}t  g d¢¡}tt||dd	�|ƒ tt||d
d	�|ƒ tt||dd	�|ƒ tt||d
d	�|ƒ d S )Nr.   r   r   r4   é?   r[   )FFFTTTTr   F)r   r#   r`   r   r   r   )r   r   r   Zlong_br   r    r    r!   Útest_in1d_ravel=  s   zTestSetOps.test_in1d_ravelc                 C   s<   d g}t  dgd ¡}t  dg¡}t  ||¡}t||ƒ d S ©Nr   r2   Frf   ©r   Úar1Úar2rI   Úresultr    r    r!   Útest_in1d_first_array_is_objectJ  ó
   z*TestSetOps.test_in1d_first_array_is_objectc                 C   s:   d}t  d gd ¡}t  dg¡}t  ||¡}t||ƒ d S rp   rf   rq   r    r    r!   Ú test_in1d_second_array_is_objectQ  s
   z+TestSetOps.test_in1d_second_array_is_objectc                 C   s<   d g}t  d gd ¡}t  dg¡}t  ||¡}t||ƒ d S )Nr2   Trf   rq   r    r    r!   Ú test_in1d_both_arrays_are_objectX  rv   z+TestSetOps.test_in1d_both_arrays_are_objectc                 C   s`   t  dtfdtfg¡}t jdg|d�}t jdgd |d�}t  dg¡}t  ||¡}t||ƒ d S )NZfield1Zfield2)r   Nr@   r2   T)r   rA   ÚintÚobjectr   r   r   )r   Údtrr   rs   rI   rt   r    r    r!   Ú+test_in1d_both_arrays_have_structured_dtype_  s   z6TestSetOps.test_in1d_both_arrays_have_structured_dtypec                 C   s`  t jddgtd�}t jddgtd�}t  ddg¡}t  ||¡}t||ƒ t j||dd�}t|t  |¡ƒ t jg d¢td�}|d d… }t jg d¢td�}|d d… }t  ddg¡}t  ||¡}t||ƒ t j||dd�}t|t  |¡ƒ t jg d¢td�}|d d… }t jddgtd�}t  dd	g¡}t  ||¡}t||ƒ t j||dd�}t|t  |¡ƒ d S )
N©r   r   r@   Trk   )r}   )r   r   r   r>   )r}   ©r   r   r   F)r   r   rz   r   r   rl   rq   r    r    r!   Ú'test_in1d_with_arrays_containing_tuplesi  s0   


z2TestSetOps.test_in1d_with_arrays_containing_tuplesc           	      C   s˜   t  g d¢¡}t  g d¢¡}t  g d¢¡}t||ƒ}t||ƒ t  g d¢g d¢g¡}t  g d¢¡}t  g d¢¡}t||ƒ}t||ƒ tg tg g ƒƒ d S )N)r   r   r   r   r   ©r   r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   )r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   )r   r   r	   r   )	r   r   r   r   r   rT   rU   ZezÚzr    r    r!   Útest_union1dŠ  s   



zTestSetOps.test_union1dc                 C   sª   t  g d¢¡}t  g d¢¡}t  ddg¡}t||ƒ}t||ƒ t  d¡}t  d¡}t  ddg¡}t||ƒ}t||ƒ tg tg g ƒƒ t  dt j¡}tt|g ƒjt jƒ d S )	N)r.   r   r   r   r   r   r   r   r€   r.   r   é   é   rZ   r    )r   r   r
   r   r#   Zuint32r   rA   r:   r    r    r!   Útest_setdiff1dœ  s   





zTestSetOps.test_setdiff1dc                 C   sF   t  g d¢¡}t  g d¢¡}t  ddg¡}t||dd�}t||ƒ d S )N)r   r   r   )r   r   r   r   r   Tr   )r   r   r
   r   )r   r   r   rI   rM   r    r    r!   Útest_setdiff1d_unique®  s
   z TestSetOps.test_setdiff1d_uniquec                 C   s8   t  g d¢¡}t  g d¢¡}tt||ƒt  dg¡ƒ d S )N)r   r   r   )r   r   Úsr   )r   r   r   r
   )r   r   r   r    r    r!   Útest_setdiff1d_char_arrayµ  s   z$TestSetOps.test_setdiff1d_char_arrayc                 C   sR   t  g d¢¡}t  g d¢¡}t||ƒ}t||ƒ}t||ƒ}t||ƒ}t||ƒ d S )N)r   r   r   r   r0   )r4   r0   r   r   r   r   r   )r   r   r   r   r	   r
   r   )r   r   r   Zc1Zaux1Zaux2Úc2r    r    r!   Útest_manywaysº  s   



zTestSetOps.test_manyways)%r&   r'   r(   r"   r,   r9   r;   r?   ÚpytestÚmarkÚparametrizer   r   Zint64ÚnanZfloat32Úint8rK   Zint16Zfloat64Zint32rN   rc   rh   rj   rm   ro   ru   rw   rx   r|   r   r‚   r…   r†   rˆ   rŠ   r    r    r    r!   r      s€    'ýýýî
ýýýýóþ
)<		
!r   c                   @   sn   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	d
dg¡dd„ ƒZ
dd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )Ú
TestUniquec                 C   sd  dd„ }g d¢d }g d¢}g d¢}g d¢d }t  g d¢d¡}g }| t jd	 ¡ | t jd
 ¡ | d¡ | d¡ |D ]}t  ||¡}	t  ||¡}
||	|
||||ƒ q>d}t  t|ƒ|¡}	||	d d …< t  t|ƒ|¡}
||
d d …< ||	|
||||ƒ ddg}t  tt	||ƒƒ|¡}	t  tt	||ƒƒ|¡}
||	|
||||ƒ g d¢}	t
t  |	¡ddgƒ g d¢}g d¢}g d¢}t|ƒ}t
||ƒ t|dd�\}}t
||ƒ t
||ƒ t  d¡}d|d< t j|dd�\}}t
|t  d¡ƒ g }t j|dd�d }t j|dd�d }t j|ddd�dd … \}}t|jt jƒ t|jt jƒ t|jt jƒ t|jt jƒ dt jdt jg}ddt jg}g d¢}g d ¢}g d!¢}tt  |¡|ƒ tt j|dd�||fƒ tt j|dd�||fƒ tt j|dd"�||fƒ d#t jd$td%t jƒtdt jƒg}d$d#td%t jƒg}g d&¢}g d'¢}g d(¢}tt  |¡|ƒ tt j|dd�||fƒ tt j|dd�||fƒ tt j|dd"�||fƒ t  d)¡}t  d*¡|t  d+¡|g}t  d+¡t  d*¡|g}g d¢}g d ¢}g d!¢}tt  |¡|ƒ tt j|dd�||fƒ tt j|dd�||fƒ tt j|dd"�||fƒ t  d)¡}t  dd,¡|t  dd-¡|g}t  dd-¡t  dd,¡|g}g d¢}g d ¢}g d!¢}tt  |¡|ƒ tt j|dd�||fƒ tt j|dd�||fƒ tt j|dd"�||fƒ t jgd. }t jg}d/g}g d0¢}d.g}tt  |¡|ƒ tt j|dd�||fƒ tt j|dd�||fƒ tt j|dd"�||fƒ d S )1Nc                 S   sè  d}|  d|¡}t| ƒ}t|||ƒ |  d|¡}t| dddƒ\}}	t|||ƒ t|	||ƒ |  d|¡}t| dddƒ\}}	t|||ƒ t|	||ƒ |  d|¡}t| dddƒ\}}	t|||ƒ t|	||ƒ |  d|¡}t| dddƒ\}}
}t|||ƒ t|
||ƒ t|||ƒ |  d	|¡}t| dddƒ\}}
}t|||ƒ t|
||ƒ t|||ƒ |  d
|¡}t| dddƒ\}}
}t|||ƒ t|
||ƒ t|||ƒ |  d|¡}t| dddƒ\}}
}}t|||ƒ t|
||ƒ t|||ƒ t|||ƒ d S )Nzcheck {0} failed for type {1}ÚvaluesÚreturn_indexTFÚreturn_inverseÚreturn_countszreturn_index and return_inversezreturn_index and return_countsz return_inverse and return_countsz.return_index, return_inverse and return_counts)rE   r   r   )r   r   r6   r7   r   r{   Zbase_msgrJ   ÚvÚjZj1Zj2Zj3r    r    r!   Ú	check_allÉ  sN   ÿz,TestUnique.test_unique_1d.<locals>.check_all)r   r   r   r   r   r   r   r2   )r   r   r   r   )r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   Ú
AllIntegerÚAllFloatúdatetime64[D]útimedelta64[D]ÚO)Ú Úi)ù      ð?        ù      ð?      ð¿r   r    rŸ   )©r   r   r¡   r~   r*   )r   r   r   r   r   r   T)r“   r   r�   .)r’   r   )r’   r“   g       @rB   )r   r   r   )r   r   r   r   )r   r   r   )r”   y       @      ð¿y      ð?      ð?ç        )r   r   r   )r   r   r   r   r   )r   r   r   Únatz
2020-12-26z
2020-12-24ÚDÚhr   r   )r   r   r   r   )r   ÚmultiplyÚextendÚ	typecodesrH   r   ÚemptyÚlenÚlistÚzipr   r   Z	chararrayÚzerosr   rA   ZintprŽ   ÚcomplexZ
datetime64Ztimedelta64)r   r—   r   r   r6   r7   r   Útypesr{   ZaaZbbÚunqÚinvZa1Za2Za2_invZa1_idxZa3_idxZa3_invZuaZua_idxZua_invZua_cntr£   Zall_nansr    r    r!   Útest_unique_1dÇ  sÄ   0





ÿÿ 

zTestUnique.test_unique_1dc                 C   s\   t t| jtƒ t t| jdtfdtfgƒ t tjtt d¡dd� t tjtt d¡dd� d S )Nr   r   r2   r   ©Úaxiséþÿÿÿ)	r   rF   Ú_run_axis_testsrz   ry   r   Z	AxisErrorr   r#   r$   r    r    r!   Útest_unique_axis_errorsp  s   ÿz"TestUnique.test_unique_axis_errorsc                 C   sZ   d}g d¢g d¢g}t  |¡}tt|dd�t|dd�|ƒ tt|dd�t|dd�|ƒ d S )NzUnique failed on list of lists©r   r   r   r   r³   r   )r   rP   r   r   )r   rJ   ÚinpZinp_arrr    r    r!   Útest_unique_axis_listx  s
   
 z TestUnique.test_unique_axis_listc                 C   s  g }|  tjd ¡ |  tjd ¡ | d¡ | d¡ | dtfdtfg¡ | dtfdtfg¡ |D ]}|  |¡ q4d}tjdtjd	� 	d
d¡ 
t¡}tjddgddggtd	�}tt|dd�||ƒ d}t ddgddgddgddgg¡}t ddgg¡}tt|dd�||ƒ d S )Nr˜   r™   rš   r›   r   r   z&Non-bitwise-equal booleans test failedr2   r@   r>   r   FTr   r³   z"Negative zero equality test failedg       €r¢   )r§   r   r¨   rH   ry   Úfloatr¶   r#   Úuint8r`   Úviewr_   r   r   r   )r   r¯   rA   rJ   Údatart   r    r    r!   Útest_unique_axis  s"   

"zTestUnique.test_unique_axisr´   r   r>   c                 C   s,   t  g d¢¡}t||d�}t|g d¢ƒ d S )N)r   r   r   r   r   r   r   r   r³   r-   ©r   r   r   r   )r   r´   rT   Úuniqr    r    r!   Útest_unique_1d_with_axis•  s   z#TestUnique.test_unique_1d_with_axisc           
      C   sR  t jdt jd�}t|ddddd�\}}}}t|j|jƒ t|t jdd�ƒ t|t  dg¡ƒ t|t  ddg¡ƒ t|t  dg¡ƒ t|d	dddd�\}}}}t|j|jƒ t|t jdd�ƒ t|t  g ¡ƒ t|t  g ¡ƒ t|t  g ¡ƒ d
}t j|d�}tt	|ƒƒD ]"}t
|ƒ}	|| dkr•d|	|< nd	|	|< tt||d�t j|	d�ƒ q„d S )N)r   r   )r5   rA   r   T©r´   r’   r“   r”   )r   r   )r5   r   r   )r   r   r   r   r   r   r   r³   )r   r©   r�   r   r   rA   r   r   Úrangerª   r«   )
r   Zsingle_zerorÁ   Úidxr±   Úcntr5   Zmultiple_zerosr´   Zexpected_shaper    r    r!   Útest_unique_axis_zeros›  s8   ÿÿ

ÿùz!TestUnique.test_unique_axis_zerosc                 C   sh   t jg d¢dd�}t j |d¡}t  |¡}t j|ddd�\}}}d}t|j|j|ƒ t|j|j|ƒ d S )N)é@   r   r   r   r   rn   rn   r   r   r   r   r   r   rn   r   r¼   r@   r   T)r’   r”   z6Unique returned different results when asked for index)r   r   ÚmaZmasked_equalr   r   r¾   Úmask)r   rT   rU   r•   Zv2rž   r   rJ   r    r    r!   Útest_unique_masked¿  s   
ÿ
zTestUnique.test_unique_maskedc                 C   sD   d}dD ]}t  dgdgg|¡}t j|dd�}t|||| ƒ qd S )Nz*sort order incorrect for integer type '%s'Zbhilqr>   r   r³   rÀ   )r   Úfmtr{   r   r   r    r    r!   Ú test_unique_sort_order_with_axisÌ  s   ýz+TestUnique.test_unique_sort_order_with_axisc           
      C   sâ  t  g d¢g d¢g d¢g d¢g¡ |¡}d}t  ddg¡}tt|ƒ| |¡|ƒ d}t  g d¢g d¢g¡}tt|dd�| |¡|ƒ d}t  g d	¢g d
¢g d	¢g d
¢g¡}tt|dd�| |¡|ƒ d}t  ddgddggddgddggg¡ |¡}t j|ddgdd�}tt|dd�||ƒ t|ddddd�\}}}}	d}t|| ||ƒ d}t|| |ƒ d}t|	t  ddg¡|ƒ t|ddddd�\}}}}	d}t|d d …|f |ƒ d}t|d d …|f |ƒ d}t|	t  g d¢¡|ƒ d S )N)r   r   r   r   )r   r   r   r   z&Unique with 1d array and axis=0 failedr   r   z&Unique with 2d array and axis=0 failedr³   z&Unique with 2d array and axis=1 failed)r   r   r   r¸   z&Unique with 3d array and axis=2 failedr   TrÃ   z-Unique's return_index=True failed with axis=0z/Unique's return_inverse=True failed with axis=0z.Unique's return_counts=True failed with axis=0z-Unique's return_index=True failed with axis=1z/Unique's return_inverse=True failed with axis=1z.Unique's return_counts=True failed with axis=1)r   r   r   )r   r   Zastyper   r   Ztake)
r   rA   r¾   rJ   rt   Zdata3drÁ   rÅ   r±   rÆ   r    r    r!   r¶   Õ  s\   
ýý"
ÿÿþýÿÿzTestUnique._run_axis_testsc                 C   sj   t  ddt jt jt jg¡}t  |¡}t j|dd�}t|t  dt jg¡ƒ t|t  dt jt jt jg¡ƒ d S )Nr   F)Z	equal_nan)r   r   rŽ   r   r   )r   r   r°   Znot_unqr    r    r!   Útest_unique_nanequals  s
   
"z TestUnique.test_unique_nanequalsN)r&   r'   r(   r²   r·   rº   r¿   r‹   rŒ   r�   rÂ   rÇ   rË   rÍ   r¶   rÎ   r    r    r    r!   r�   Å  s     *
$	,r�   )Ú__doc__Znumpyr   Znumpy.testingr   r   r   r   Znumpy.lib.arraysetopsr   r   r   r	   r
   r   r   r   r‹   r   r�   r    r    r    r!   Ú<module>   s    (   :