
    A>i~                        S SK rS SKrS SKrS SKJr  S SKJ	r	  \R                  R                  S5      S 5       r\R                  R                  S5      \R                  R                  S\R                  S/5      S 5       5       rS r\R                  R                  S\R                  S/5      S 5       r\R                  R$                  S	 5       rS
 rg)    N)allow_na_opsz3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc           	         U n[         R                  " U[        S[        U5      S-   5      5      nUR	                  5       n[        [        R                  UR                  5      5      n[        U[        R                  5      (       aF  [        R                  R                  U5      nUR                  Ul        [        R                  " X$SS9  g [        U[        R                   5      (       am  [        R                   " X1R"                  S9n[        UR"                  [        R$                  5      (       a  UR'                  5       n[        R                  " X$SS9  g [         R(                  " U5      n[        R*                  " X$5        g )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        \/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/base/test_unique.pytest_uniquer%   	   s    
C
))Cq#c(Q,/
0CZZ\F szz23M#r}}%%==,,];
fd;	C	"	"88M;cii!3!344))+H
fd;88M*
##F5    null_objc           	         Un[        U5      (       d  [        R                  " S5        O[        U5      S:  a  [        R                  " S5        Oj[	        U[
        R                  5      (       a  [        R                  " SU  S35        O0U b-  U(       d&  UR                  S;   a  [        R                  " S5        UR                  SS	9nUR                  nXS
S& [        U5      n[        R                  " U[        S[        U5      S-   5      5      nU" XcR                  S9nUR                  5       n[        R!                  UR"                  5      nU V	s/ s H"  n	[
        R$                  " U	5      (       a  M   U	PM$     n
n	U /U
Qn[	        U[
        R&                  5      (       a}  [
        R&                  " XR                  S9n[	        UR                  [
        R(                  5      (       a   UR+                  5       nUR+                  5       n[,        R.                  " X|SS9  g [        R0                  " XR                  S9n[,        R2                  " X|5        g s  sn	f )N$type doesn't allow for NA operationsr   z%Test doesn't make sense on empty dataMultiIndex can't hold '')Int64UInt16Float32z%NaN is not a valid NA for this dtype.Tdeepr      r   r   )r   pytestskipr   r   r   r   r	   copy_valuestyper
   r   r   r   r   r   r   isnullr   r   r   r   r   r   r   )r'   r   using_nan_is_nar    r   klassrepeated_valuesr!   unique_values_rawvalunique_values_not_nullr"   r#   s                r$   test_unique_nullr>      s    C:;	SA;<	C	'	'-hZq9:II77;<
(((
C[[F1QKIEiiaVq(ABO
yy
1CZZ\Fcjj1 .?U->cbiiPSnc->U7 67M#rxx  88M;cii!3!344%%'F))+H
fd;88M;
##F5 Vs   I7Ic           	          U n[         R                  " U[        S[        U5      S-   5      5      n[        UR	                  5       5      nUR                  SS9U:X  d   eg )Nr   Fdropna)r
   r   r   r   r   nunique)r   r    r#   s      r$   test_nuniquerC   K   sO    
C
))Cq#c(Q,/
0C3::< H;;e;$000r&   c           	      4   Un[        U5      (       d  [        R                  " S5        O9[        U[        R
                  5      (       a  [        R                  " SU  S35        UR                  SS9nUR                  nXSS& [        U5      n[        R                  " U[        S[        U5      S-   5      5      nU" XRR                  S	9n[        U[        R                  5      (       aU  UR                  5       [        UR                   5      :X  d   eUR                  S
S9[        UR                   5      S-   :X  d   eg [        UR#                  5       5      nUR                  5       [%        SUS-
  5      :X  d   eUR                  S
S9[%        SU5      :X  d   eg )Nr)   r*   r+   Tr/   r   r1   r   r   Fr@   )r   r2   r3   r   r   r   r4   r5   r6   r
   r   r   r   r	   CategoricalIndexrB   
categoriesr   max)r'   r   r    r   r9   r:   num_unique_valuess          r$   test_nunique_nullrI   R   sH   
C:;	C	'	'-hZq9:
(((
C[[F1QKIEiiaVq(ABO
yy
1C#r**++{{}CNN 3333{{%{(C,?!,CCCC

-{{}A'81'< ===={{%{(C3D,EEEEr&   c                 D   SnU " U/S-  [         S9nUR                  5       n[        U[        R                  5      (       a0  [        R                  " S/[         S9n[
        R                  " X4SS9  g [        R                  " S/[         S9n[
        R                  " X45        g )Nu   r1   r   Tr   )
objectr   r   r   r   r   r   r
   r   r   )index_or_seriesuvalr    r!   r#   s        r$   test_unique_bad_unicoderN   l   sy     D
4&1*F
3CZZ\F#rxx  88XJf5
fd;88XJf5
##F5r&   c                     [         R                  " SS[         R                  [        R                  S [         R
                  /5      nUR                  U 5      nU (       a  US:X  d   eg g )Nyesr   )r   SeriesNAr
   nanNaTrB   )rA   serress      r$   test_nunique_dropnarW   |   sJ    
))UE255"&&$?
@C
++f
C3!8$$18r&   )numpyr
   r2   pandasr   pandas._testing_testingr   pandas.tests.base.commonr   markfilterwarningsr%   parametrizerS   r>   rC   rI   
single_cpurN   rW    r&   r$   <module>rb      s        1 RS6 T6* RSbffd^4'6 5 T'6T1 bffd^4F 5F2 6 6%r&   