
    Mhzc                        S SK rS SKrS SKrS SKJrJrJrJrJ	r	J
r
  S SKJr  S SKJrJr  \R"                  R%                  SSS/5      \R"                  R%                  S/ SQ5      S	 5       5       r\R"                  R%                  S
\	\R(                  \
\/5      S 5       r\R"                  R.                  \R"                  R%                  S
\	\R(                  \
\/5      S 5       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$\R"                  R%                  S/ SQ5      S 5       r%S r&S r'S r(\R"                  R%                  S\)" S5      \)" S 5      /5      S 5       r*S r+S  r,S! r-S" r.S# r/S$ r0\R"                  R%                  S/ S%Q5      S& 5       r1\R"                  R%                  S'\Rd                  S(/5      S) 5       r3\R"                  R%                  S'\Rd                  S*/5      S+ 5       r4\R"                  R%                  S,S-/S-/4S-S-/S-/4S.S-/S.S-/4/5      S/ 5       r5\R"                  R%                  S0S1SSS/4S1S2/SS/4S1S3/SS/4S4S5S6/SS/4S4S3S2/SS/4S7/ S8QSS/4S4S2S5/S2S/4S4S5S3/SS3/4S4S2S3/S2S3/4S4SS3/SS3/4/
5      S9 5       r6S: r7S; r8S< r9S= r:\R"                  R%                  S>S?S@/5      \R"                  R%                  SASSB/5      SC 5       5       r;\R"                  R%                  S'SDSE/5      SF 5       r<\R"                  R%                  SGSH\Rd                  /5      SI 5       r=\R"                  R}                  SJ5      SK 5       r?SL r@SM rA\R"                  R%                  SN/ S8QS SO/// SPQSO/// SQQ/ SRQ// SQQ/ SSQ/STSU/4/5      SV 5       rB\R"                  R%                  S2\R                  " S2S3/S2S3/SW9S2S3//5      \R"                  R%                  S3\R                  " S2S3/S3S2/SXSY9\R                  " S2S3/S3S2/SW9/5      SZ 5       5       rD\R"                  R%                  S'\Rd                  S(/5      S[ 5       rES\ rFg)]    N)CategoricalIndex	DataFrameIndexIntervalIndex
MultiIndexSeries)is_float_dtypeis_unsigned_integer_dtypecaseg      ?xxxmethod)intersectionunion
differencesymmetric_differencec                     Sn[         R                  " [        US9   [        X5      " XS9  S S S 5        g ! , (       d  f       g = f)Nz!Input must be Index or array-likematchsort)pytestraises	TypeErrorgetattr)idxr   r   r   msgs        X/var/www/html/env/lib/python3.13/site-packages/pandas/tests/indexes/multi/test_setops.pytest_set_ops_error_casesr      s0     .C	y	,T- 
-	,	,s	   5
Aklassc                 X   U SS S2   nU S S nU[         La  U" UR                  5      nUR                  XAS9nUc  UR                  5       nOUn[        R
                  " XV5        Sn[        R                  " [        US9   UR                  / SQUS9  S S S 5        g ! , (       d  f       g = f)N      r   .other must be a MultiIndex or a list of tuplesr      r!      )	r   valuesr   sort_valuestmassert_index_equalr   r   r   )r   r   r   firstsecond	intersectexpectedr   s           r   test_intersection_baser0      s    2JE!WFJv}}%""6"5I|$$&).
:C	y	,940 
-	,	,   ?B
B)c                 X   U S S S2   nU S S nU[         La  U" UR                  5      nUR                  XAS9nUc  UR                  5       nOUn[        R
                  " XV5        Sn[        R                  " [        US9   UR                  / SQUS9  S S S 5        g ! , (       d  f       g = f)Nr"   r#   r   r$   r   r%   )	r   r(   r   r)   r*   r+   r   r   r   )r   r   r   r,   r-   r   r/   r   s           r   test_union_baser3   3   s     "IE!WFJv}}%KKK*E|$$&%*
:C	y	,ID) 
-	,	,r1   c                     U SS  nU S S nU R                  X!S9nUc  UR                  5       nUR                  U5      (       d   e[        R                  " XC5        [
        R                  [        [        4 Vs/ s H  oU" UR                  5      PM     nnU H(  nU R                  XqS9n[        R                  " XC5        M*     Sn[        R                  " [        US9   U R                  / SQUS9  S S S 5        g s  snf ! , (       d  f       g = f)N   r   r$   r   r%   )r   r)   equalsr*   r+   nparrayr   listr(   r   r   r   )	r   r   r-   answerresultr   casesr   r   s	            r   test_difference_baser=   H   s    WF!WF^^F^.F|##%==    &) 13&$/GH/GeU6==!/GEH0
f-  ;C	y	,yt, 
-	, I 
-	,s   8C:C??
Dc                    U SS  nU S S nU SS/   nUR                  X1S9nUc  UR                  5       n[        R                  " XT5        [        R
                  [        [        4 Vs/ s H  of" UR                  5      PM     nnU H(  nUR                  XS9n[        R                  " XT5        M*     Sn	[        R                  " [        U	S9   UR                  / SQUS9  S S S 5        g s  snf ! , (       d  f       g = f)Nr&   r"   r   r   r$   r   r%   )r   r)   r*   r+   r7   r8   r   r9   r(   r   r   r   )
r   r   r,   r-   r:   r;   r   r<   r   r   s
             r   test_symmetric_differencer?   ^   s    GE"XF"a\F''':F|##%&) 13&$/GH/GeU6==!/GEH++D+<
f-  ;C	y	,""94"8 
-	, I 
-	,s   'C)C..
C<c                  $   [         R                  " SS/SS//SS/S9n U R                  U 5      nUR                  U R                  :X  d   eU R	                  5       R                  SS/5      nU R                  U5      nUR                  S S /:X  d   eg )NabABnames)r   from_productr   rF   copyrename)r   r;   idx2s      r   $test_multiindex_symmetric_differencerK   t   s    

!
!C:Sz":3*
MC%%c*F<<399$$$88:c3Z(D%%d+F<<D$<'''    c                 V    U R                   (       a   eU S S R                   (       d   eg )Nr   )emptyr   s    r   
test_emptyrP      s     yy=r7===rL   c                    U nUR                  U SS  US9nU S S R                  nUc  [        U5      n[        R                  " USU R
                  S9n[        U[        5      (       d   eUR                  U5      (       d   eUR
                  U R
                  :X  d   e[        R                  " X55        U R                  XS9nU S S nUR                  U5      (       d   eUR
                  U R
                  :X  d   eU SS  R                  XS9nU S S nUR                  U5      (       d   eUR
                  U R
                  :X  d   eU S S R                  XS9nU S S nUR                  U5      (       d   eUR
                  U R
                  :X  d   eU SS  nSS/Ul        UR                  XaS9nUR
                  S:X  d   eU R                  U R                  S5      S   US9n[        U5      S:X  d   eUR                  UR                  US9nUR                  US S 5      (       d   eUR                  / US9nUR                  U5      (       d   eUR
                  UR
                  :X  d   eUR                  S	/US9n[        R                  " / S
Q5      nUR
                  Ul        UR
                  UR
                  :X  d   eSn[        R                  " [        US9   UR                  / SQUS9  S S S 5        g ! , (       d  f       g = f)Nr   r   )	sortorderrF   foobazNNr&   rT   one))barrX   )rU   two)rT   rZ   )quxrX   )r[   rZ   r$   r   )r&   r!   r'   r5   r#   )r   r(   sortedr   from_tuplesrF   
isinstancer6   r*   r+   	sortlevellenr   r   r   )r   r   r,   r;   valsr/   chunkletr   s           r   test_differencerc      s   Ec"#hT2Fs8??D|d|%%dasyyIHfj))))==""""<<399$$$&+ ^^C^+F2AwH==""""<<399$$$ X   0F2AwH==""""<<399$$$ !W/F2AwH==""""<<399$$$ 23xHU^HNh2F<<<''' ^^CMM!,Q/d^;Fv;! ell6F==r#### bt,F<<;;&,,&&& ~.T:F%%XH [[HN;;&,,&&&
:C	y	,t4 
-	,	,s   K::
Lc                      [         R                  " SS/SS//5      n U R                  / 5      n[        R                  " X5        g )Nr&   r   rA   rB   r   rG   r   r*   r+   r   r;   s     r   test_difference_sort_specialrg      s;    

!
!Aq6C:"6
7C^^BF&&rL   c                      [         R                  " SS/SS//5      n U R                  / SS9n[         R                  " SS/SS//5      n[        R                  " X5        g Nr&   r   rA   rB   Tr   re   )r   r;   r/   s      r   !test_difference_sort_special_truerj      s\    

!
!Aq6C:"6
7C^^BT^*F&&Ac
';<H&+rL   c                     [         R                  " S[        R                  " S5      S/SS//5      n [         R                  " S[        R                  " S5      S/SS	//5      nS
n[        R
                  " [        US9   U R                  U5      nS S S 5        [        R                  " WU 5        U R                  USS9n[        R                  " X05        g ! , (       d  f       NL= f)Nr&   2000r!   rA   rB   r'   r5   cdz0sort order is undefined for incomparable objectsr   Fr   )	r   rG   pd	Timestampr*   assert_produces_warningRuntimeWarningr   r+   )r   otherr   r;   s       r   !test_difference_sort_incomparablert      s    

!
!Ar||F';Q#?#s"L
MC##af)=q%AC:$NOE
<C		#	#N#	>& 
?&#& ^^E^.F&& 
?	>s   >C
C$c                  R   [         R                  " S[        R                  " S5      S/SS//5      n [         R                  " S[        R                  " S5      S/SS	//5      nS
n[        R
                  " [        US9   U R                  USS9  S S S 5        g ! , (       d  f       g = f)Nr&   rl   r!   rA   rB   r'   r5   rm   rn   zH'values' is not ordered, please explicitly specify the categories order r   Tr   )r   rG   ro   rp   r   r   r   r   )r   rs   r   s      r   &test_difference_sort_incomparable_truerv      s    

!
!Ar||F';Q#?#s"L
MC##af)=q%AC:$NOE UC	y	,u4( 
-	,	,s   >B
B&c                 `   U S S S S S2   nU SS  nUR                  X1S9nUS;   a4  [        R                  " UR                  5       U R                  5       5        O[        R                  " X@5        U R                  XS9n[        R                  " X@5        U R                  U S S US9n[        R                  " X@5        U R                  nU S S R                  USS  US9nUc4  [        R                  " UR                  5       U R                  5       5        g UR                  U 5      (       d   eg )Nr#   r"   r'   r   )NFr   r5   )r   r*   r+   r)   r(   r6   )r   r   piece1piece2	the_uniontuplesr;   s          r   
test_unionr|      s   !WTrT]FWFV/I}
i335s7HI
i- 		#	)I))		#bq'	-I))ZZF!W]]6!":D]1F|
f002COO4EF}}S!!!!rL   c                    [        / SQ5      nUR                  U 5      nSU;   d   eSU;   d   eU(       a4  [        R                  " [        SS9   U R                  U5        S S S 5        g Sn[
        R                  " [        US9   U R                  U5      nS S S 5        UR                  W5      (       a   eg ! , (       d  f       g = f! , (       d  f       N8= f)N)rC   rD   CrW   rD   zCan only unionr   z'The values in the array are unorderable)	r   r   r   r   NotImplementedErrorr*   rq   rr   r6   )r   using_infer_stringrs   r;   r   result2s         r   test_union_with_regular_indexr   
  s    /"E[[FV###&==]].6FGIIe HG 8''cBii&G C ==))))) HG CBs   B8C	8
C	
Cc                    U S S S S S2   nU SS  nUR                  X1S9nUS;   a  [        R                  " X@SS 5        O([        R                  " UR                  5       U SS 5        U R                  XS9n[        R                  " X@5        U S S R                  U SS  US9nU S S nUR	                  U5      (       d   eU R
                  nU R                  U5      nUR	                  U 5      (       d   eg )Nr#   r"   r'   r   )NTr!   r   )r   r*   r+   r)   r6   r(   )	r   r   rx   ry   the_intrN   r/   r{   r;   s	            r   test_intersectionr     s   !WTrT]FWF!!&!4G|
g1Qx0
g113S1X> s.G'' G  QRt 4E2AwH<<!!!!ZZFf%F==rL   c                 ~   U R                  5       R                  S5      nS /U R                  -  n[        X5      " X1S9n[        X5      " XS9R	                  U5      n[
        R                  " XV5        [        X5      " US S US9n[        X5      " U S S US9R	                  U5      n[
        R                  " XV5        g )Ncategoryr   r#   )to_flat_indexastypenlevelsr   rI   r*   r+   )r   r   r   rs   	res_namesr;   r/   s          r   test_setop_with_categoricalr   6  s     &&z2E$IS!%3Fs#C3::9EH&+S!%)$7Fs#CG$7>>yIH&+rL   c                 <   [        [        S5      SS9nU R                  X!S9n[        U R                  / /U R
                  -  S S9n[        R                  " X4SS9  U R                  [        R                  " U5      S S US9n[        U R                  / /U R
                  -  U R                  S9n[        R                  " X4SS9  S	n[        R                  " [        US
9   U R                  [        R                  " U5      US9  S S S 5        g ! , (       d  f       g = f)Nr'   rT   )namer   levelscodesrF   T)exactr   r$   r   )r   ranger   r   r   r   r*   r+   r7   asarrayrF   r   r   r   )r   r   rs   r;   r/   r   s         r   test_intersection_non_objectr   F  s    %('Ee/FB4#++3ETRH&$7 bjj/3$?FB4#++3ESYYWH&$7
:C	y	,E*6 
-	,	,s   %D
Dc                      [         R                  " SS/SS//5      n [        R                  " U R	                  U SS9U 5        [        R                  " U R	                  U S S9U 5        g Nr&   r   rA   rB   Fr   )r   rG   r*   r+   r   rO   s    r   test_intersect_equal_sortr   X  s_    

!
!Aq6C:"6
7C#**3U*;SA#**3T*:C@rL   c                      [         R                  " SS/SS//5      n [         R                  " SS/SS//5      nU R                  U SS9n[        R                  " X!5        g ri   )r   rG   r   r*   r+   )r   r/   r;   s      r   test_intersect_equal_sort_truer   _  s_    

!
!Aq6C:"6
7C&&Ac
';<Hc-F&+rL   slice_c                 &   [         R                  " SS/SS//5      nX   n[        R                  " UR	                  U5      U5        [        R                  " UR	                  U5      U5        [        R                  " UR	                  USS9U5        g r   )r   rG   r*   r+   r   )r   r   rs   s      r   test_union_sort_other_emptyr   f  s{     
!
!Aq6C:"6
7C KE#))E*C0%++c*C0 #))E)6<rL   c                      [         R                  " SS/SS//5      n U S S nU R                  USS9n[         R                  " SS/SS//5      n[        R                  " X#5        g ri   )r   rG   r   r*   r+   )r   rs   r;   r/   s       r    test_union_sort_other_empty_sortr   t  sg    

!
!Aq6C:"6
7CGEYYu4Y(F&&Ac
';<H&+rL   c                  t   [         R                  " S[        R                  " S5      /SS//5      n [        R
                  " [        5         U R                  U S S 5      nS S S 5        [        R                  " WU 5        U R                  U S S SS9n[        R                  " X5        g ! , (       d  f       NO= f)Nr&   rl   rA   rB   Fr   )	r   rG   ro   rp   r*   rq   rr   r   r+   rf   s     r   "test_union_sort_other_incomparabler   |  s    

!
!Ar||F';#<sCj"I
JC 
	#	#N	33r7# 
4&#& YYs2AwUY+F&& 
4	3s   B))
B7c                      [         R                  " S[        R                  " S5      /SS//5      n Sn[        R
                  " [        US9   U R                  U S S SS9  S S S 5        g ! , (       d  f       g = f)	Nr&   rl   rA   rB   z<'<' not supported between instances of 'Timestamp' and 'int'r   Tr   )r   rG   ro   rp   r   r   r   r   )r   r   s     r   'test_union_sort_other_incomparable_sortr     s^    

!
!Ar||F';#<sCj"I
JC
HC	y	,		#bq'	% 
-	,	,s   A))
A7c                      [         R                  " SS/SS//5      n U R                  S   nSn[        R                  " [
        US9   U R                  U5        S S S 5        g ! , (       d  f       g = f)NrA   rB   r&   r!   z<Can only union MultiIndex with MultiIndex or Index of tuplesr   )r   rG   r   r   r   r   r   )mir   r   s      r   "test_union_non_object_dtype_raisesr     sW    		 	 3*q!f!5	6B
))A,C
HC	*#	6
 
7	6	6s   A""
A0c                      [         R                  " / /5      n [         R                  " SS/SS//SS/S9nU R                  U5      n[         R                  " SS/SS//5      n[        R                  " X#5        g )Nr&   r!   r'   r5   rA   rB   rE   r   from_arraysr   r*   r+   )r   mi2r;   r/   s       r   %test_union_empty_self_different_namesr     so    				%B

 
 1a&1a&!1#s
DCXXc]F%%1v1v&67H&+rL   c                     [         R                  " SS/SS//SS/S9n [        R                  " S5      nU R	                  U5      n[
        R                  " XS	S
9  UR	                  U 5      n[
        R                  " XS	S
9  g )Nr&   r!   r'   r5   rA   rB   rE   r   F)check_names)r   r   ro   
RangeIndexr   r*   r+   )r   riresult_leftresult_rights       r   &test_union_multiindex_empty_rangeindexr     sm    			!Q!Q 0c
	CB	q	B((2,K"u=88B<L">rL   )r   r   r   r   c                    [         R                  " SS/SS//5      n[         R                  " SS/SS//5      n[        R                  " [        SS9   [        X5      " USS9  S S S 5        [        X5      " US	S9  g ! , (       d  f       N= f)
NrA   rB   r&   r!   rm   zThe 'sort' keyword only takesr   r   T)r   rG   r   r   
ValueErrorr   )r   idx1rJ   s      r   test_setops_sort_validationr     s}     ""S#JA#78D""S#JA#78D	z)H	Id+ 
J D$T*	 
J	Is   A<<
B
vald   c                     [         R                  " [        SS/U S9SS//SS /S9n[         R                  " [        SSU/U S9/ SQ/5      nUR                  U5      n[         R                  " [        S/U S9S//5      n[        R
                  " XE5        UR                  UR                  SS95      n[         R                  " [        / U S9[        / [        R                  S9/SS /S9n[        R
                  " XE5        g )	Nr&   r!   dtyperA   rE   r&   r&   r'   F)	ascending)	r   r   r   r   r*   r+   r)   r7   int64any_numeric_ea_dtyper   midxmidx2r;   r/   s         r   test_difference_keep_ea_dtypesr     s     !!	A2	3aV<S$KD ""	As#7	8)DE __U#F%%vqc9M'NQRPS&TUH&+__T--->?F%%	.	/"((1KLDkH &+rL   r#   c                 0   [         R                  " [        SS/U S9SS//SS /S9n[         R                  " [        SSU/U S9/ SQ/5      nUR                  U5      n[         R                  " [        SSU/U S9/ SQ/5      n[        R
                  " XE5        g )Nr&   r!   r   rA   rE   r   r%   )r   r   r   r   r*   r+   r   s         r   *test_symmetric_difference_keeping_ea_dtyper     s     !!	A2	3aV<S$KD ""	As#7	8)DE &&u-F%%	As#7	8)DH &+rL   )r{   
exp_tuplesval1test1val2test2c                     [         R                  " U SS/S9n[         R                  " / SQSS/S9nUR                  U5      n[         R                  " USS/S9n[        R                  " XE5        g )Nr,   r-   rE   )r   r   r   )r   r]   r   r*   r+   )r{   r   leftrightr;   r/   s         r   test_intersect_with_duplicatesr     sm     !!&(0CDD""A!E u%F%%j(8KLH&+rL   zdata, names, expectedr&   rA   rB   )r&   r!   rm   rn   r%   )rA   rB   rm   c                     [         R                  " / SS/S9n[         R                  " U /US9nUR                  U5      nXR:X  d   eg )NrA   rB   rE   )r   r]   _maybe_match_names)datarF   r/   r   r   r;   s         r   test_maybe_match_namesr     sJ    " 
		3*	5B

 
 $u
5C""3'FrL   c                      [         R                  " SS/SS//SS/S9n [         R                  " SS/SS//SS/S9nU R                  U5      n[         R                  " SS/SS//S S/S9n[        R                  " X#5        g )	Nr&   r!   r'   r5   rm   rB   rE   rA   r   r   r   r*   r+   )mi1r   r;   r/   s       r   'test_intersection_equal_different_namesr     s    

 
 1a&1a&!1#s
DC

 
 1a&1a&!1#s
DCc"F%%1v1v&6tSkJH&+rL   c                      [         R                  " S/S//SS/S9n [         R                  " S/S//5      nU R                  U5      n[        R                  " X!5        g )Nr&   r'   rm   rB   rE   r   )r   r   r;   s      r   !test_intersection_different_namesr     sT    			!qc
3*	=B

 
 1#s
,C__S!F&&rL   c                     [         R                  " SU SU // SQ/5      n[         R                  " SU S// SQ/5      nUR                  U5      n[         R                  " SU /SS//5      n[        R                  " X45        g )Nr'   r5   )r&   r!   r5   r!   r&   r!   r5   r&   r!   r   nulls_fixturer   r   r;   r/   s        r   3test_intersection_with_missing_values_on_both_sidesr   $  sx    

 
 1mQ"F!U
VC

 
 1mQ"7!C
DCc"F%%='9Aq6&BCH&+rL   c                     [         R                  " SU //5      n[         R                  " SU S//5      nUR                  U5      n[         R                  " SSU //5      n[        R                  " X45        g )Nr&   r'   r   r   s        r   ,test_union_with_missing_values_on_both_sidesr   -  si    

 
 1m"4!5
6C

 
 1mQ"7!8
9CYYs^F%%1m'<&=>H&+rL   r   float64Float64r   Fc                    [         R                  " [        R                  " S[        R
                  /U S9SS//5      n[         R                  " [        R                  " S[        R
                  S/U S9/ SQ/5      nUR                  X1S9nUc?  [         R                  " [        R                  " SS[        R
                  /U S9/ SQ/5      nOUn[        R                  " XE5        g )	N      ?r   r!   r'   g      @)r!   r'   r5   r   )r!   r5   r'   )	r   r   ro   r8   r7   nanr   r*   r+   )r   r   r   r   r;   r/   s         r   test_union_nan_got_duplicatedr   6  s     
 
 "((C="FA!O
PC

 
 "((C+=U"KY!W
XCYYsY&F|))XXsC(6	B
 &+rL   r5   r&   c                    [        US/U S9n[        SS/U S9n[        R                  " USS//SS /S9n[        R                  " USS//5      nUR                  U5      nUS:X  a%  [        R                  " [        / SQU S9/ SQ/5      nO$[        R                  " [        SS/U S9SS//5      n[        R
                  " Xg5        g )	Nr!   r   r&   rA   rE   r5   r   )r&   r!   r&   r   r   r   r   r*   r+   )r   r   arr1arr2r   r   r;   r/   s           r   test_union_keep_ea_dtyper   F  s     3("67D1a& 45D!!4!Q.dDD""D1a&>2EZZF
ax))I%9:IF
 ))QF"67!Q@
 &+rL   dupe_valr'   c           	      b   [         R                  " [        SU S/US9[        SU S/US9/5      n[         R                  " [        SX /US9[        SX /US9/5      nUR                  U5      n[         R                  " [        SSX /US9[        SSX /US9/5      n[        R
                  " XE5        g )Nr&   r!   r   )r   r   r   r   r*   r+   )r   r   r   r   r;   r/   s         r   (test_union_with_duplicates_keep_ea_dtyper   Z  s     
 
 Ax#+?@Ax#+?@	
C 
 
 Ax*2FGAx*2FG	
C YYs^F%%Aq(-5IJAq(-5IJ	
H &+rL   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 @   U R                   (       d  [        U [        [        45      (       a,  [        R
                  " S[        U 5      R                   35        U R                  5       R                  R                  5       n[        R                  " US/[        U5      -  /5      n[        R                  " US   /U-   S/[        U5      S-   -  /5      nUR                  U5      nUR                  5       n[         R"                  " XV5        [%        UR&                  S   5      (       ar  UR)                  S5      S:  R+                  5       (       aK  UR-                  UR&                  S   R/                  [0        R2                  5      UR&                  S   /5      nO][5        UR&                  S   5      (       a@  UR-                  UR&                  S   R/                  [6        5      UR&                  S   /5      nUR                  U5      n[         R"                  " XV5        g )NzNo duplicates in an empty r&   r   l            )rN   r^   r   r   r   skiptype__name__uniquer(   tolistr   r   r`   r   r)   r*   r+   r
   r   get_level_valuesall
set_levelsr   r7   r   r	   float)indexrequestr(   r   r   r;   r/   s          r   test_union_duplicatesr   s  s    {{j8H(IJJ0e1E1E0FGH\\^""))+F

 
 &1#F*;!<
=C

 
 6!9+"6s6{Q8O!P
QCYYs^F H&+ 	"#**Q-00!!!$u,1133 &&__Q&&rxx0(//!2DE
 


1	&	& &&__Q&&u-xq/AB
 YYs^F&+rL   c                 8   [        / SQU S9n[        SS/U S9n[        R                  " U/ SQ/SS /S9n[        R                  " USS//SS /S9nUR                  U5      n[        R                  " [        / S	QU S9/ S
Q/SS /S9n[        R
                  " XV5        g )N)r5   r&   r&   r   r&   r5   )r!   r&   r&   rA   rE   r!   )r&   r&   r5   )r&   r&   r!   r   )any_real_numeric_dtyper   r   r   r   r;   r/   s          r   test_union_keep_dtype_precisionr     s    )#9:D1a& 67D!!4"3C;GD""D1a&>#tEEZZF%%
"8
99	EDkH &+rL   c                    [        S[        R                  /U S9n[        S[        R                  /U S9n[        R                  " USS//SS /S9n[        R                  " USS//5      nUR                  U5      n[        R                  " [        SS[        R                  [        R                  /U S9/ SQ/5      n[        R                  " XV5        g )Nr5   r   r&   r!   rA   rE   )r&   r!   r&   r!   )r   ro   NAr   r   r   r*   r+   )r   r   r   r   r   r;   r/   s          r    test_union_keep_ea_dtype_with_nar    s    1bee*$89D1bee*$89D!!4!Q.dDD""D1a&>2EZZF%%	Aruubee$,@	A<PH &+rL   z'levels1, levels2, codes1, codes2, names )rm   rn   rB   )r   r&   r!   )r&   r&   r&   )r   r   r   name1name2c                 r    [        XUS9n[        XUS9nUR                  U5      nUR                  S:X  d   eg )Nr   r!   )r   r   _lexsort_depth)levels1levels2codes1codes2rF   r   r   mi_ints           r   test_intersection_lexsort_depthr    s@     G
?C
G
?Cc"F  A%%%rL   )
categoriesT)r  orderedc                 p   SS/n[        XS.5      n[        XS.5      n[        R                  " X/SS/S9n[        R                  " U5      R	                  [        R                  " UR                  SS/5      5      5      n[        R                  " U5      R	                  [        R                  " U5      5      n[        R                  " UR                  SS/5      5      R	                  [        R                  " U5      5      n[        R                  " UR                  SS/5      5      R	                  [        R                  " UR                  SS/5      5      5      n	[        R                  " Xe5        [        R                  " Xu5        [        R                  " X5        [        R                  " X5        g )N12)xyr  r  rE   )r   r   r   
from_framer   r)   r*   r+   )
rA   rB   rs   df1df2r/   res1res2res3res4s
             r   0test_intersection_with_non_lex_sorted_categoriesr    sR    #JE
!(
)C
!(
)C%%qjc
CH  %22coosCj9:D   %22:3H3H3MND  #s!<=JJc"D   #s!<=JJcoosCj9:D $)$)$)$)rL   c                 *   [         R                  " [        SS/US9SS//SS /S9n[         R                  " [        SSU /US9/ SQ/5      nUR                  U5      n[         R                  " [        S/US9S//5      n[        R
                  " XE5        g )Nr&   r!   r   rA   rE   r   )r   r   r   r   r*   r+   )r   r   r   r   r;   r/   s         r    test_intersection_keep_ea_dtypesr    s     !!	A2	3aV<S$KD ""	As#7	8)DE u%F%%vqc9M'NQRPS&TUH&+rL   c                  f   [        S[        R                  " [        S /SS9[        S /SS9/5      S9n [        S[        R                  " S5      S9n[	        X/5      n[	        [
        R                  [
        R                  4SS/S	[
        R                  S
/05      n[        R                  " X#5        g )Nr   stringr   )r   )
      )rV   rA   rB   r   g      $@r$  g      4@)	r   r   r   r]   r   r7   r   r*   assert_frame_equal)series1series2r;   r/   s       r   .test_union_with_na_when_constructing_dataframer(    s    $$TF(+VTF(-KL
G XZ%;%;<V%WXG)*F266266*S$Kbffd^TUH&+rL   )Gnumpyr7   r   pandasro   r   r   r   r   r   r   pandas._testing_testingr*   pandas.api.typesr	   r
   markparametrizer   r8   r9   r0   arm_slowr3   r=   r?   rK   rP   rc   rg   rj   rt   rv   r|   r   r   r   r   r   r   slicer   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   filterwarningsr   r   r  r  Categoricalr  r  r(   rL   r   <module>r5     sf        #u.M. /. :rxx"FG1 H1& :rxx"FG* H *&-,9,(>5B',' )"4*&2 M
,
,7$A, E$Kq#:;
= <
=,'&,	? M++ -, .,( 
+, ,, 
	012
.	/2C1DE 12 12	

	,
	, 	tdD\"	utTl#	utTl#	#sdD\*	#sdD\*	OdD\2	#sc4[)	#sdC[)	#sc3Z(	$tSk*,',, 9i"89$/, 0 :, A', (,& aZ0, 1,0 RS, T,D,
, - q"g&rd#	"	"g	
&& ^^S#JC:6c
C 
SzsCj$G
SzsCj9*	*4 -
, .
,,rL   