
    0Ph                     Z    d dl Zd dlmZ d dlmZmZ d dlmZ d Z	d Z
d Zd Zd	 Zd
 ZdS )    N)assert_array_equal)attach_uniquecached_unique)check_arrayc                      t          j        g d          } t          |           }t          |j        j        d         t          j        g d                     t          ||            d S )N      r
         r      uniquer	   r
   r   r   r   )nparrayr   r   dtypemetadataarrarr_s     _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sklearn/utils/tests/test_unique.py+test_attach_unique_attaches_unique_to_arrayr      sc    
((((
)
)CDtz*84bh6O6OPPPtS!!!!!    c                     t          j        t           j        dt          j        ddg          i          } t          j        g d|           }t	          t          |          t          j        ddg                     d S )Nr   r	   r
   )r   r   )r   )r   r   float64r   r   r   )my_dtyper   s     r   (test_cached_unique_returns_cached_uniquer      sr    x
h!Q8H8H-IJJJH
((((
9
9
9C}S))28QF+;+;<<<<<r   c                  8    g d} t          |           }|| u sJ dS )z8Test that when not np.ndarray, we don't touch the array.r   N)r   r   s     r   test_attach_unique_not_ndarrayr      s+    


CD3;;;;;;r   c                  f    t          j        g d          } t          |           }|j        | u sJ dS )z4Test that attach_unique returns a view of the array.r   N)r   r   r   baser   s     r   test_attach_unique_returns_viewr"      s>    
((((
)
)CD9r   c                  R   t          j        g d          } t          | d          }t          |t                    sJ t          |          dk    sJ t          |d         |            t          | d          }t          |t           j                  sJ t          ||            dS )z+Test return_tuple argument of the function.r   T)return_tupler	   r   FN)r   r   r   
isinstancetuplelenr   ndarray)r   	arr_tuple
arr_singles      r   test_attach_unique_return_tupler+   #   s    
((((
)
)Cc555Ii'''''y>>Qy|S)))s777Jj"*-----z3'''''r   c                      t          j        g dg          } t          |           }t          |          }t	          |j        j        d         t          j        g d                     t	          ||            dS )z0Test that check_array keeps the unique metadata.r   r   r   N)r   r   r   r   r   r   r   r   s     r   test_check_array_keeps_uniquer-   0   ss    
()))*
+
+CDtDtz*84bh6O6OPPPtS!!!!!r   )numpyr   numpy.testingr   sklearn.utils._uniquer   r   sklearn.utils.validationr   r   r   r   r"   r+   r-    r   r   <module>r3      s        , , , , , , > > > > > > > > 0 0 0 0 0 0" " "= = =    
( 
( 
(" " " " "r   