
    I j                     t    S SK r S SKrS SKrS SKJr  S SKJr  S SKr	S SKJ
r
JrJrJr  S SKJr   " S S5      rg)    N)Pandas4Warning)CategoricalDtype)CategoricalIndexSeriesisnac                      \ rS rSrS rS rS rS rS r\	R                  R                  SSS	/5      S
 5       rS r\	R                  R                  S/ SQ\R                  SS// SQ4/ SQ\R                  SS// SQ4/5      S 5       r\	R                  R                  S\R$                  S4S\R                  S4\R&                  S4/5      S 5       rSrg)TestCategoricalMissing   c                     [         R                  " / SQ5      n[        SS[         R                  /5      nUR	                  5       n[
        R                  " X15        g )N)FFTab)nparrayr   nanr   tmassert_numpy_array_equal)selfexpcatress       }/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/tests/arrays/categorical/test_missing.py	test_isna TestCategoricalMissing.test_isna   s?    hh+,3RVV,-hhj
##C-    c                 x   [        [        S5      5      n[        R                  R	                  S5      R                  SSS5      nSUS S S2'   Sn[        R                  " [        US9   [        X!5      nS S S 5        [        W5        [        R                  " [        U5      US:H  5        g ! , (       d  f       N== f)	N
      r   r      z=Constructing a Categorical with a dtype and values containingmatch)listranger   randomdefault_rngintegersr   assert_produces_warningr   r   reprr   r   )r   
categorieslabelsmsgr   s        r   test_na_flags_int_categories3TestCategoricalMissing.test_na_flags_int_categories   s     %)_
&&q)221b"=ssM''cBf1C CS	
##DIv|<	 CBs   (B++
B9c                 >   [        SS[        R                  S/5      n[        R                  " UR
                  [        SS/5      5        [        R                  " UR                  [        R                  " / SQ[        R                  S95        [        R                  US'   [        R                  " UR
                  [        SS/5      5        [        R                  " UR                  [        R                  " / SQ[        R                  S95        [        SS[        R                  S/5      n[        R                  " UR
                  [        SS/5      5        [        R                  " UR                  [        R                  " / SQ[        R                  S95        g )Nr   r   )r      r   r   dtyper0   )r   r   r   r   )r   r   r   r   assert_index_equalr*   r   r   _codesr   int8)r   cs     r   test_nan_handling(TestCategoricalMissing.test_nan_handling)   s    c2663/0
allE3*,=>
##AHHbhh}BGG.TUvv!
allE3*,=>
##AHHbhh~RWW.UV c2663/0
allE3*,=>
##AHHbhh}BGG.TUr   c                     [        SS[        R                  /5      nUR                  [	        SS/5      SS9n[
        R                  " UR                  [        R                  " / SQSS95        g )	Nr   r   r6   T)copy)r   r   r   r5   r1   )	r   r   r   
_set_dtyper   r   r   codesr   )r   r6   results      r   test_set_dtype_nans*TestCategoricalMissing.test_set_dtype_nans8   sR    c266*+.Sz:F
##FLL"((;f2UVr   c                     [        / SQ5      n[        R                  US'   [        S[        R                  S// SQS9n[        R                  " X5        g )Nr0   r      r0   rB   )r*   )r   r   r   r   assert_categorical_equal)r   r   r   s      r   test_set_item_nan(TestCategoricalMissing.test_set_item_nan=   s=    )$A1bffa.Y?
##C-r   namedTFc           	      P   U(       a  [         R                  " SS5      nOS n[        [        R                  " U" SS5      U" SS5      S /[
        S95      nUR                  U" SS5      5      n[        U" SS5      U" SS5      U" SS5      /5      n[        R                  " XE5        [        [        R                  " U" SS5      U" SS5      S /[
        S95      nSn[        R                  " [        US9   UR                  U" SS5      5        S S S 5        g ! , (       d  f       g = f)	NPointzx yc                      U $ )N )argss    r   <lambda>FTestCategoricalMissing.test_fillna_iterable_category.<locals>.<lambda>J   s    $r   r   r0   r1   z3Cannot setitem on a Categorical with a new categoryr!   )collections
namedtupler   r   r   objectfillnar   rC   pytestraises	TypeError)r   rF   rH   r   r=   expectedr,   s          r   test_fillna_iterable_category4TestCategoricalMissing.test_fillna_iterable_categoryD   s     **7E:E&E"((E!QKq!d#C6RSE!QK(aU1a[%1+FG
##F5 "((E!QKq!d#C6RSC]]9C0JJuQ{# 100s   5D
D%c                    [        / SQ5      nUR                  S5      nUR                  U5      n[        R                  " X25        [	        US   5      (       d   e[
        R                  " / SQ5      nUR                  U5      n[        / SQUR                  S9n[        R                  " X45        [	        US   5      (       d   eg )N)ABCNNr[   r   )rY   rZ   r[   rZ   rY   r1   )r   rQ   r   rC   r   r   r   r2   )r   r   otherr=   rU   s        r   test_fillna_array(TestCategoricalMissing.test_fillna_arrayX   s    56

3E"
##F2CG}}}23E"8		J
##F5CG}}}r   za1, a2, categories)r   r   r6   r   r   rA   r0   r   c                    [        U5      n[        XS9[        X$S9:g  n[        U5      [        U5      :g  n[        R                  " XV5        [        XS9[        X$S9:H  n[        U5      [        U5      :H  n[        R                  " XV5        g Nr1   )r   r   r   assert_series_equal)r   a1a2r*   cat_typer=   rU   s          r   %test_compare_categorical_with_missing<TestCategoricalMissing.test_compare_categorical_with_missingg   sz     $J/ +vb/II":+
v0 +vb/II":+
v0r   zna_value, dtypezdatetime64[s])Nfloat64rg   c                 n    [        X/5      n[        R                  " UR                  [	        / US95        g r`   )r   r   r3   r*   r   )r   na_valuer2   r=   s       r   ,test_categorical_only_missing_values_no_castCTestCategoricalMissing.test_categorical_only_missing_values_no_cast|   s.     h12
f//r1GHr   rJ   N)__name__
__module____qualname____firstlineno__r   r-   r7   r>   rD   rR   markparametrizerV   r]   r   r   re   pdNaTNArj   __static_attributes__rJ   r   r   r
   r
      s    .=VW
. [[WtUm4$ 5$& [[rvvsC0/BA	2	
11 [[VV_%VVYUUI		
IIr   r
   )rN   numpyr   rR   pandas.errorsr   pandas.core.dtypes.dtypesr   pandasrr   r   r   r   r   pandas._testing_testingr   r
   rJ   r   r   <module>r|      s4       ( 6   tI tIr   