
    g                     D   d dl Zd dlZd dlmZ d dlZd dlmZ	 d dl
mZ ej                            d          d             Zej                            d          ej                            dej        dg          d                         Zd Zej                            dej        dg          d	             Zej        j        ej                             e            d
          d                         Zej                            dddg          d             ZdS )    N)using_pyarrow_string_dtype)allow_na_opsz3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc           	          | }t          j        |t          dt          |          dz                       }|                                }t          t                              |j                            }t          |t          j                  rDt          j                            |          }|j        |_        t          j        ||d           d S t          |t          j                  rgt          j        ||j                  }t          |j        t          j                  r|                                }t          j        ||d           d S t          j        |          }t          j        ||           d S )N   Texactdtype)nprepeatrangelenuniquelistdictfromkeysvalues
isinstancepd
MultiIndexfrom_tuplesnamestmassert_index_equalIndexr
   DatetimeTZDtype	normalizearrayassert_numpy_array_equal)index_or_series_objobjresultunique_valuesexpecteds        i/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/pandas/tests/base/test_unique.pytest_uniquer&      s>   
C
)Cq#c((Q,//
0
0CZZ\\F sz2233M#r}%% 6=,,];;
fhd;;;;;;	C	"	" 68M;;;ci!344 	,))++H
fhd;;;;;;8M**
#FH55555    null_objc           	         |}t          |          st          j        d           nZt          |          dk     rt          j        d           n2t	          |t
          j                  rt          j        d|  d           |j        }| |dd<   t          |          }t          j
        |t          dt          |          dz                       } |||j                  }|                                }t                              |j                  }d	 |D             }| g|z   }	t	          |t
          j                  r{t          j        |	|j                  }
t	          |j        t
          j                  r(|                                }|
                                }
t)          j        ||
d
           d S t          j        |	|j                  }
t)          j        ||
           d S )N$type doesn't allow for NA operationsr   z%Test doesn't make sense on empty dataMultiIndex can't hold ''r      r	   c                 :    g | ]}t          j        |          |S  )r   isnull).0vals     r%   
<listcomp>z$test_unique_null.<locals>.<listcomp>8   s&    UUUcbiPSnnUcUUUr'   Tr   )r   pytestskipr   r   r   r   _valuestyper   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   )r(   r    r!   r   klassrepeated_valuesr"   unique_values_rawunique_values_not_nullr#   r$   s              r%   test_unique_nullr<   !   s    C ;:;;;;	SA;<<<<	C	'	' ;9h999:::[FF1Q3KIIEiaVq(A(ABBO
%sy
1
1
1CZZ\\Fcj11 VU->UUUJ!77M#rx   68M;;;ci!344 	,%%''F))++H
fhd;;;;;;8M;;;
#FH55555r'   c           	          | }t          j        |t          dt          |          dz                       }t          |                                          }|                    d          |k    sJ d S )Nr   Fdropna)r   r   r   r   r   nunique)r    r!   r$   s      r%   test_nuniquerA   F   sf    
C
)Cq#c((Q,//
0
0C3::<<  H;;e;$$000000r'   c           	      X   |}t          |          st          j        d           n2t          |t          j                  rt          j        d|  d           |j        }| |dd<   t          |          }t          j	        |t          dt          |          dz                       } |||j                  }t          |t          j                  r_|                                t          |j                  k    sJ |                    d	          t          |j                  dz   k    sJ d S t          |                                          }|                                t#          d|dz
            k    sJ |                    d	          t#          d|          k    sJ d S )
Nr*   r+   r,   r   r-   r   r	   Fr>   )r   r4   r5   r   r   r   r6   r7   r   r   r   r   r
   CategoricalIndexr@   
categoriesr   max)r(   r    r!   r   r8   r9   num_unique_valuess          r%   test_nunique_nullrG   M   s   
C ;:;;;;	C	'	' ;9h999:::[FF1Q3KIIEiaVq(A(ABBO
%sy
1
1
1C#r*++ F{{}}CN 3 33333{{%{((C,?,?!,CCCCCCC

--{{}}A'81'< = ====={{%{((C3D,E,EEEEEEEr'   zdecoding fails)reasonc                 P   d} | |gdz            }|                                 }t          |t          j                  r5t          j        dgt                    }t          j        ||d           d S t          j        dgt                    }t          j	        ||           d S )Nu   r-   r	   Tr   )
r   r   r   r   objectr   r   r   r   r   )index_or_seriesuvalr!   r"   r$   s        r%   test_unique_bad_unicoderM   f   s     D
/4&1*
%
%CZZ\\F#rx   68XJf555
fhd;;;;;;8XJf555
#FH55555r'   r?   TFc                     t          j        ddt           j        t          j        d t           j        g          }|                    |           }| r|dk    snd S J d S )Nyesr   )r   SeriesNAr   nanNaTr@   )r?   serress      r%   test_nunique_dropnarV   w   sS     )UE25"&$?
@
@C
++f

C$3!888888888r'   )numpyr   r4   pandas._configr   pandasr   pandas._testing_testingr   pandas.tests.base.commonr   markfilterwarningsr&   parametrizerR   r<   rA   rG   
single_cpuxfailrM   rV   r/   r'   r%   <module>rb      s        5 5 5 5 5 5           1 1 1 1 1 1 RSS6 6 TS6* RSSbfd^44 6  6 54 TS 6F1 1 1 bfd^44F F 54F0 --//8HII6 6 JI 6 D%=11% % 21% % %r'   