
    Mhg;                     \    S SK rS SKrS SKJr  S SKrS SKJrJrJ	r	  S SK
Jr   " S S5      rg)    N)union_categoricals)CategoricalCategoricalIndexSeriesc                   d   \ rS rSr\R
                  R                  S\" S5      \" S5      \" S5      4/ SQ/ SQ/ SQ4/ S	Q/ S
Q/ SQ4SS\R                  S/S\R                  S/SS\R                  SS\R                  S/4\
R                  " SS5      \
R                  " SS5      \
R                  " SS5      4\
R                  " SSSS9\
R                  " SSSS9\
R                  " SSSS94\
R                  " SS5      \
R                  " SS5      \
R                  " SS5      4/5      \R
                  R                  S\\\/5      S 5       5       rS rS rS rS rS r\R
                  R                  S/ S//5      S 5       rS rS  rS! rS" rS# rS$ rS% rS& rS' rS( r S) r!S* r"S+ r#S, r$S-r%g.)/TestUnionCategoricals   za, b, combinedabcabdabcabd)r         r         )r   r   r   r   r   r   r   333333?r   )r   333333@r   )r   r   r   r   r   r   bacz
2014-01-01z
2014-01-05z
2014-01-06z
2014-01-07z
US/Central)tzboxc                     [        U" [        U5      5      U" [        U5      5      /5      n[        U5      n[        R                  " XV5        g )N)r   r   tmassert_categorical_equal)selfr   r   combinedr   resultexpecteds          ^/var/www/html/env/lib/python3.13/site-packages/pandas/tests/reshape/test_union_categoricals.pytest_union_categorical,TestUnionCategoricals.test_union_categorical   s=    > $SQ%8#k!n:M$NOx(
##F5    c                     [        / SQ5      n[        / SQ5      n[        X/5      n[        / SQ/ SQS9n[        R                  " X45        g )Nxyzr   r   r   r'   r(   r)   r   r   r   
categoriesr   r   r   r   r   ss2r   r    s        r!   )test_union_categorical_ordered_appearance?TestUnionCategoricals.test_union_categorical_ordered_appearance3   sB    ()#QG,*7U
 	##F5r$   c                     [        / SQSS9n[        / SQSS9n[        X/5      n[        / SQSS9n[        R                  " X45        g )Nr   Tordered)r   r   r   r   r   r   r.   r/   s        r!   #test_union_categorical_ordered_true9TestUnionCategoricals.test_union_categorical_ordered_true=   sA    T2d3#QG,5tD
##F5r$   c                     [        / SQ5      n[        / SQ5      nSn[        R                  " [        US9   [	        X/5        S S S 5        g ! , (       d  f       g = f)Nr   r   z$dtype of categories must be the samematch)r   pytestraises	TypeErrorr   )r   r0   r1   msgs       r!   "test_union_categorical_match_types8TestUnionCategoricals.test_union_categorical_match_typesD   s?    $#4]]9C0w' 100s   A
Ac                     Sn[         R                  " [        US9   [        / 5        S S S 5        g ! , (       d  f       g = f)NzNo Categoricals to unionr:   )r<   r=   
ValueErrorr   )r   r?   s     r!   test_union_categorical_empty2TestUnionCategoricals.test_union_categorical_emptyL   s)    (]]:S1r" 211s   1
?c                    [        [        SS[        R                  /5      [        SS[        R                  /5      /5      n[        SS[        R                  SS[        R                  /5      n[        R
                  " X5        [        [        SS/5      [        SS[        R                  /5      /5      n[        SSSS[        R                  /5      n[        R
                  " X5        [        R                  " S5      [        R                  " S5      [        R                  /n[        R                  [        R                  " S5      [        R                  " S5      /n[        [        U5      [        U5      /5      n[        X4-   [        R                  " S5      [        R                  " S5      [        R                  " S5      /S	9n[        R
                  " X5        [        [        [        R                  " [        R                  [        R                  /[        S
95      [        S/[        R                  " S/[        S
9S	9/5      n[        [        R                  [        R                  S/5      n[        R
                  " X5        [        [        [        R                  [        R                  /5      [        [        R                  [        R                  /5      /5      n[        [        R                  [        R                  [        R                  [        R                  /5      n[        R
                  " X5        g )Nr   r   r   ABz
2011-01-01z
2011-03-01z
2011-02-01r,   dtypeX)r   r   npnanr   r   pd	TimestampNaTarrayobjectIndex)r   resexpval1val2s        r!   test_union_categoricals_nan1TestUnionCategoricals.test_union_categoricals_nanQ   s6    !Q(+q!RVVn*EF
 1aArvv67
##C- #s$k3RVV2D&EF
 3S#rvv67
##C-\*BLL,FO\2BLL4NO +d"3[5F!GHK\*\*\*
 	##C- !BHHbffbff%5VDESEbhhuF.KL
 2662663/0
##C- "&&"&&)*K8H,IJ
 266266266266:;
##C-r$   val1c                     U(       a5  US/:X  a.  UR                  [        R                  R                  S5      5        [	        [        / 5      [        U5      /5      n[        U5      n[        R                  " XE5        g )Nr[   zobject and strings dont match)applymarkerr<   markxfailr   r   r   r   )r   rZ   requestusing_infer_stringrT   rU   s         r!   test_union_categoricals_empty3TestUnionCategoricals.test_union_categoricals_empty}   s]     ##, 1 12Q RS +b/;s3C!DE#
##C-r$   c           
          [        / SQ/ SQS9n[        SSS[        R                  // SQS9n[        X/5      n[        SSSSSSS[        R                  // SQS9n[        R
                  " X45        g )N)r   r   r   r   r,   r   r   r   r   r   rL   rM   r   r   r   r   c1c2rT   rU   s        r!   $test_union_categorical_same_category:TestUnionCategoricals.test_union_categorical_same_category   sb    ,?!Q266*|D "*1aAq!Q7LQ
##C-r$   c                     [        / SQ/ SQS9n[        / SQ/ SQS9n[        X/5      n[        / SQ/ SQS9n[        R                  " X45        g )N)r)   r)   r)   r&   r,   )r'   r'   r'   )r)   r)   r)   r'   r'   r'   r.   rf   s        r!   (test_union_categorical_same_category_str>TestUnionCategoricals.test_union_categorical_same_category_str   sA    _E_E "*8_U
##C-r$   c                     [        / SQ/ SQS9n[        / SQ/ SQS9n[        X/5      n[        / SQ/ SQS9n[        R                  " X45        g )Nr*   r,   r   r   r   )r   r   r   r   r   r   r.   r   rg   rh   r   r    s        r!   6test_union_categorical_same_categories_different_orderLTestUnionCategoricals.test_union_categorical_same_categories_different_order   sE    _E_E#RH-*
 	##F5r$   c                    [        / SQSS9n[        / SQSS9nSn[        R                  " [        US9   [	        X/5        S S S 5        [	        X/5      n[        / SQSS9n[
        R                  " XE5        [        SS	S
[        R                  /SS9n[        S
S	// SQSS9n[	        X/5      n[        SS	S
[        R                  S
S	/SS9n[
        R                  " XE5        [        / SQSS9n[        / SQ/ SQSS9nSn[        R                  " [        US9   [	        X/5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r   r   Tr5   F$Categorical.ordered must be the samer:   r   r   r   r   r   r   r   r   r   r-   r6   r   r   r   >to union ordered Categoricals, all categories must be the same)	r   r<   r=   r>   r   r   r   rL   rM   )r   rg   rh   r?   rT   rU   s         r!   test_union_categoricals_ordered5TestUnionCategoricals.test_union_categoricals_ordered   s   D1E24]]9C0x( 1 !"*,d;
##C-!Q266*D9!QItD "*1aBFFAq14@
##C-D1y$GN]]9C0x( 10% 10$ 10s   D.D?.
D<?
Ec                     [        / SQSS9n[        / SQSS9n[        X/SS9n[        / SQ5      n[        R                  " X45        Sn[        R
                  " [        US9   [        X/SS9  S S S 5        [        X/SS9n[        / SQ5      n[        R                  " X45        [        X/SS9n[        / SQ/ SQSS	9n[        R                  " X45        [        S
SS[        R                  /SS9n[        SS// SQSS	9n[        X/SS9n[        S
SS[        R                  SS/5      n[        R                  " X45        [        / SQSS9n[        / SQ/ SQSS	9n[        X/SS9n[        / SQ5      n[        R                  " X45        [        X!/SSS9n[        / SQ/ SQS9n[        R                  " X45        [        / SQSS9n[        / SQSS9n[        X/SS9n[        / SQ5      n[        R                  " Xg5        Sn[        R
                  " [        US9   [        X/SS9  S S S 5        [        R
                  " [        US9   [        X/5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       NO= f! , (       d  f       g = f)Nrt   Tr5   F)ignore_orderrv   ru   r:   rw   r   r   r   rx   )r}   sort_categoriesr,   )r         )r   r   r   r   r   r   ry   )	r   r   r   r   r<   r=   r>   rL   rM   )r   rg   rh   rT   rU   r?   r   r    s           r!   $test_union_categoricals_ignore_order:TestUnionCategoricals.test_union_categoricals_ignore_order   s)   D1E2 "=,-
##C-4]]9C0xe< 1 !"=,-
##C- ">,DQ
##C-!Q266*D9!QItD "=1aBFFAq12
##C-D1y$G "=,-
##C- "dS,C
##C-D1D1#RH4@12
##F5N]]9C0xe< 1 ]]9C0x( 10O 10H 10 10s$   "II.I?
I+.
I<?
Jc                    [        / SQ5      n[        / SQ5      n[        X/SS9n[        / SQ/ SQS9n[        R                  " X45        [        SS	// S
QS9n[        S	S// S
QS9n[        X/SS9n[        / SQ/ SQS9n[        R                  " X45        [        SS	// SQS9n[        S	S// SQS9n[        X/SS9n[        / SQ/ SQS9n[        R                  " X45        [        SS	// SQS9n[        S	S// SQS9n[        X/SS9n[        / SQ/ SQS9n[        R                  " X45        [        S[        R
                  /5      n[        [        R
                  S	/5      n[        X/SS9n[        S[        R
                  [        R
                  S	/S	S/S9n[        R                  " X45        [        [        R
                  /5      n[        [        R
                  /5      n[        X/SS9n[        [        R
                  [        R
                  /5      n[        R                  " X45        [        / 5      n[        / 5      n[        X/SS9n[        / 5      n[        R                  " X45        [        S	S// S
QSS9n[        SS// S
QSS9nSn[        R                  " [        US9   [        X/SS9  S S S 5        g ! , (       d  f       g = f)Nr&   r*   Tr~   r+   )r   r   r   r'   r(   r)   r,   r   r   ro   r   r   r   r   r   )r   r   r   r'   rw   z9Cannot use sort_categories=True with ordered Categoricalsr:   )	r   r   r   r   rL   rM   r<   r=   r>   r   rg   rh   r   r    r?   s         r!   test_union_categoricals_sort2TestUnionCategoricals.test_union_categoricals_sort   s]   ))#RHdC*7U
 	##F5 #s@#s@#RHdC3P
##F5#s@#s@#RHdC3P
##F5 #s@#s@#RHdC3P
##F5#rvv'"&&#'#RHdCRVVRVVS9sCjQ
##F5"&&""&&"#RHdC/0
##F5__#RHdCr?
##F5#sN#sNI]]9C0x> 100s   'J<<
K
c                     [        / SQ5      n[        / SQ5      n[        X/SS9n[        / SQ/ SQS9n[        R                  " X45        g )Nr&   r*   Fr   r+   r,   r.   rp   s        r!   "test_union_categoricals_sort_false8TestUnionCategoricals.test_union_categoricals_sort_false#  sD    ))#RHeD*7U
 	##F5r$   c                     [        SS// SQS9n[        SS// SQS9n[        X/SS9n[        / SQ/ SQS9n[        R                  " X45        g )	Nr   r   ro   r,   r   Fr   r   r.   rp   s        r!   +test_union_categoricals_sort_false_fastpathATestUnionCategoricals.test_union_categoricals_sort_false_fastpath-  K    #s@#s@#RHeD3P
##F5r$   c                     [        SS// SQS9n[        SS// SQS9n[        X/SS9n[        / SQ/ SQS9n[        R                  " X45        g )	Nr   r   r*   r,   r   Fr   r   r.   rp   s        r!   -test_union_categoricals_sort_false_skipresortCTestUnionCategoricals.test_union_categoricals_sort_false_skipresort5  r   r$   c                 
   [        S[        R                  /5      n[        [        R                  S/5      n[        X/SS9n[        S[        R                  [        R                  S/SS/S9n[        R
                  " X45        g )Nr'   r   Fr   r,   re   rp   s        r!   *test_union_categoricals_sort_false_one_nan@TestUnionCategoricals.test_union_categoricals_sort_false_one_nan=  sc    #rvv'"&&#'#RHeDRVVRVVS9sCjQ
##F5r$   c                     [        [        R                  /5      n[        [        R                  /5      n[        X/SS9n[        [        R                  [        R                  /5      n[        R
                  " X45        g NFr   re   rp   s        r!   +test_union_categoricals_sort_false_only_nanATestUnionCategoricals.test_union_categoricals_sort_false_only_nanD  sU    "&&""&&"#RHeD/0
##F5r$   c                     [        / 5      n[        / 5      n[        X/SS9n[        / 5      n[        R                  " X45        g r   r.   rp   s        r!   (test_union_categoricals_sort_false_empty>TestUnionCategoricals.test_union_categoricals_sort_false_emptyK  s9    __#RHeDr?
##F5r$   c                     [        SS// SQSS9n[        SS// SQSS9n[        X/SS9n[        / S	Q/ SQSS9n[        R                  " X45        g )
Nr   r   ro   Trw   r   Fr   )r   r   r   r   r.   rp   s        r!   /test_union_categoricals_sort_false_ordered_trueETestUnionCategoricals.test_union_categoricals_sort_false_ordered_trueR  sU    #sN#sN#RHeD _d
 	##F5r$   c                    [        SS/5      n[        SS/SS9n[        X/5      n[        / SQ5      n[        R                  " X45        [        U5      n[        X/5      n[        R                  " X45        [        U5      n[        X/5      n[        R                  " X45        Sn[        R                  " [        US9   [        U/ S	Q/5        S S S 5        g ! , (       d  f       g = f)
Nr   r   r   categoryrI   r   z-all components to combine must be Categoricalr:   r*   )	r   r   r   r   r   r   r<   r=   r>   r   s         r!   test_union_categorical_unwrap3TestUnionCategoricals.test_union_categorical_unwrap[  s    #s$S#Jj1#RH-34
##F5b!#RH-
##F5BZ#RH-
##F5=]]9C0O45 100s   >C
C% N)&__name__
__module____qualname____firstlineno__r<   r^   parametrizelistrL   rM   rN   
date_rangeperiod_ranger   r   r   r"   r2   r7   r@   rD   rX   rb   ri   rl   rq   rz   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r$   r!   r   r      s   [[%[$u+tH~6	#56+'=>c2663'bffc"c2663RVVS9 lL9lL9lL9 lL\JlL\JlL\J l;l;l;'	
8 [[U[2BF$KL6 M9:666(#
*.X [[UR#K0. 1...6)42)h4?l66666666r$   r   )numpyrL   r<   pandas.core.dtypes.concatr   pandasrN   r   r   r   pandas._testing_testingr   r   r   r$   r!   <module>r      s,      8  
 ^6 ^6r$   