+
    yȇi`                        R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIH	u H
t ^ RIHt ^ RIHtHtHtHtHtHtHtHtHt ^ RIHt ^ RIHtHt R R lt]P>                  ! . ]P@                  OR	NR
NRNRNR7      R 4       t!]P>                  R 4       t"R t#R t$]PJ                  PM                  R]! ]PN                  ! ^4      ]PP                  R7      ]! ^4      3]! ]PN                  ! ^4      ]PR                  R7      ]! ]PN                  ! ^4      ]PP                  R7      3]! ]PN                  ! ^4      ]PR                  R7      ]! ^4      3]! ]PN                  ! ^4      ]PR                  R7      ]! ]PN                  ! ^4      ]PT                  R7      3.4      R 4       t+]PJ                  PM                  R. R1O4      ]PJ                  PM                  RR2R3.4      R 4       4       t,]PJ                  PM                  R. R4O^^..4      R 4       t- ! R R4      t.]PJ                  P_                  R4      ]PJ                  P_                  R4      ]PJ                  PM                  R. R5O4      R 4       4       4       t0R  t1R! t2R" t3R# t4R$ t5]PJ                  PM                  R%^]Pl                  .4      R& 4       t7R' t8R( t9R) t: ! R* R+4      t;R, t<R- t=R. t>R/ t?R0 t@R# )6zX
The tests in this package are to ensure the proper resultant dtypes of
set operations.
)datetimeN)lib)find_common_type)	CategoricalDtypeCategoricalIndexDatetimeTZDtypeIndex
MultiIndexPeriodDtype
RangeIndexSeries	Timestamp)is_signed_integer_dtypepandas_dtypec                $    V ^8  d   QhR\         /# )   return)bool)formats   "p/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/indexes/test_setops.py__annotate__r   #   s     . .$ .    c                0    \        V 4      \        V4      8H  # )zG
Checks if the set of unique elements of arr1 and arr2 are equivalent.
)	frozenset)arr1arr2s   &&r   equal_contentsr   #   s     T?io--r   objectcategorydatetime64[ns]ztimedelta64[ns])paramsc                    V P                   # )z
Dtypes that can be given to an Index with small positive integers.

This means that for any dtype `x` in the params list, `Index([1, 2, 3], dtype=x)` is
valid and gives the correct Index (sub-)class.
)param)requests   &r   'any_dtype_for_small_pos_integer_indexesr$   *   s      ==r   c                     V # N )
index_flats   &r   index_flat2r)   =   s    r   c                     V P                  4       pV P                  4       pVP                  V4      P                  VP                  8X  g   Q hR # r&   )sort_valuesuniondtype)indexidx1idx2s   &  r   test_union_same_typesr1   B   sA     DD::d!!TZZ///r   c                    T pTpVP                   '       gI   VP                   '       g7   VP                  P                  R 8X  d   VP                  P                  R8X  g[   VP                   '       g   VP                   '       gn   VP                  P                  R 8X  dS   VP                  P                  R8X  d8   \        P                  P                  R\        RR7      pVP                  V4       \        VP                  VP                  .4      pRpRp\        V4      '       d   \        V4      '       g   EMJVP                  P                  R8X  d(   \        P                  ! VP                  R4      '       dC   VP                  P                  R8X  d/   \        P                  ! VP                  R4      '       g   \        pM\        VP                  \        4      '       d!   \        VP                  \        4      '       gA   \        VP                  \        4      '       d`   \        VP                  \        4      '       d@   \         pR	p\        P                  P                  R
\"        RR7      pVP                  V4       \$        P&                  VP                  VP                  39   p	\)        VP                  4      p
\)        VP                  4      pVP+                  4       pVP+                  4       p\,        P.                  ! WxR7      ;_uu_ 4        VP1                  V4      pVP1                  V4      pRRR4       V	'       da   V
'       g	   V'       dQ   XP                  \$        P                  ! R4      8X  g   Q hXP                  \$        P                  ! R4      8X  g   Q hR# XP                  V8X  g   Q hXP                  V8X  g   Q hR#   + '       g   i     L; i)ibzGH#44000 True==1F)reasonraisesstrictNz'<' not supported betweenciufczPeriodDtype\[B\] is deprecatedz"Warning not produced on all buildsmatchO)	is_uniquer-   kindpytestmarkxfail
ValueErrorapplymarkerr   lenr   is_np_dtypeRuntimeWarning
isinstancer
   r   FutureWarningAssertionErrornpuint64r   r+   tmassert_produces_warningr,   )r(   r)   r#   r/   r0   r@   common_dtypewarnmsg
any_uint64idx1_signedidx2_signedres1res2s   &&&           r   test_union_different_typesrV   J   s    DD NNNJJOOs"JJOOs"NNNJJOOs"JJOOs" {{  %j ! 
 	D!#TZZ$<=LD
%Ct99CII
**//S
 #//$**f*M*M

3

F(K(K 4::{++
4::GW0X0X4::{++
4::GW0X0X/{{  7! ! 

 	D!tzz4::66J)$**5K)$**5K DD		#	#D	4	4zz$zz$ 
5 {kzzRXXc]***zzRXXc]***zz\)))zz\))) 
5	4s   #OO 	z	idx1,idx2r-   c                     V P                  V4      pVP                  V 4      pVP                  V P                  VP                  39   g   Q hVP                  V P                  VP                  39   g   Q hR # r&   )r,   r-   )r/   r0   rT   rU   s   &&  r   "test_compatible_inconsistent_pairsrY      s^     ::dD::dD::$**djj1111::$**djj1111r   zleft, right, expectednamesc                 T   \        V 4      p \        V4      p\        . W^ ,          R7      p\        . W^,          R7      pVP                  V4      pVP                  V8X  g   Q hVP                  V^,          8X  g   Q hVP                  V4      pVP                  V^,          8X  g   Q hR# )    )r-   nameN)r   r   r,   r-   r]   intersection)leftrightexpectedrZ   ar4   results   &&&&   r   test_union_dtypesrd      s    , DEb8,Ab!H-AWWQZF<<8###;;%(""" ^^AF;;%("""r   valuesc                     \        V 4      p\        ^^.4      pVP                  V4      p\        ^.4      p\        P                  ! W44       R# )   N)r   r^   rL   assert_index_equal)re   rb   r4   rc   ra   s   &    r   test_intersection_duplicatesri      sA     	fAq!fA^^AFaSzH&+r   c                   &  a  ] tR t^t o ]P
                  P                  RRR.4      ]P
                  P                  R. RO4      R 4       4       t]P
                  P                  R4      R 4       t	]P
                  P                  R4      R 4       t
]P
                  P                  R4      R	 4       t]P
                  P                  R4      R
 4       t]P
                  P                  R. RO4      R 4       t]P
                  P                  R. RO4      R 4       t]P
                  P                  R. RO4      R 4       t]P
                  P                  R. RO4      R 4       t]P
                  P                  R4      R 4       tR tR tR tRtV tR# )
TestSetOpscaseg      ?xxxmethodc                    R p\         P                  ! \        VR7      ;_uu_ 4        \        W24      ! V4       RRR4       R#   + '       g   i     R# ; i)z!Input must be Index or array-liker:   N)r?   r6   	TypeErrorgetattr)selfrl   rn   r.   rP   s   &&&& r   test_set_ops_error_cases#TestSetOps.test_set_ops_error_cases   s6     2]]9C00E"4( 1000s   AA	3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                   \        V\        4      '       d-   \        P                  ! R \	        V4      P
                   24       VR,          P                  4       pVR,          P                  4       pVP                  V4      p\        P                  ! WC4       \        VP                  \        4      '       d   R# VP                  4       VP                  4       VP                  4       .pV F'  pVP                  V4      p\        Ws4      '       d   K'  Q h	  \        V\         4      '       dE   Rp\        P"                  ! \$        VR7      ;_uu_ 4        VP                  . RO4       RRR4       R# R#   + '       g   i     R# ; i)Not relevant for N   N:Nrg   NN.other must be a MultiIndex or a list of tuplesr:      r   rg   )rG   r   r?   skiptype__name__uniquer^   rL   rh   r-   r   to_numpy	to_seriesto_listr   r	   r6   rp   )	rr   r.   firstsecond	intersectcasesrl   rc   rP   s	   &&       r   test_intersection_base!TestSetOps.test_intersection_base   s!   e-..KK+DK,@,@+ABCb	  "r!!#&&v.	
i0ekk?33  "F$4$4$68HID''-F!&1111  eZ((BCy44""9- 54 )444s   E22F	c                   VP                  4       pVR ,          pVR,          pTpVP                  V4      p\        P                  ! VP	                  4       VP	                  4       4       \        VP                  \        4      '       d   R# VP                  4       VP                  4       VP                  4       .pV F'  pVP                  V4      p\        W4      '       d   K'  Q h	  \        V\        4      '       dE   Rp	\        P                  ! \        V	R7      ;_uu_ 4        VP                  . RO4       RRR4       R# R#   + '       g   i     R# ; i):rg   NNrx   Nrz   r:   r{   )r   r,   rL   rh   r+   rG   r-   r   r   r   r   r   r	   r?   r6   rp   )
rr   r.   r   r   
everythingr,   r   rl   rc   rP   s
   &&        r   test_union_baseTestSetOps.test_union_base   s    b	r
F#
e//1:3I3I3KLekk?33  "F$4$4$68HID[[&F!&5555  eZ((BCy44I& 54 )444s   #EE	c                   VR ,          pVR,          pVP                   R8X  d%   \        V4      P                  \        V4      4      pM"\        V\        4      '       d   . pM	VR,          pVP                  WA4      p\        We4      '       g   Q hVP                  4       VP                  4       VP                  4       .pV F'  pVP                  W4      p\        We4      '       d   K'  Q h	  \        V\        4      '       dF   Rp	\        P                  ! \        V	R7      ;_uu_ 4        VP                  . ROV4       RRR4       R# R#   + '       g   i     R# ; i):r   NN:N   Nboolean:r   NNrz   r:   Nr{   )inferred_typeset
differencerG   r   r   r   r   r   r	   r?   r6   rp   )
rr   sortr.   r   r   answerrc   r   rl   rP   s
   &&&       r   test_difference_baseTestSetOps.test_difference_base  s   b	r)+ Z**3v;7F/00F2YF!!&/f---- "F$4$4$68HID%%d1F!&1111  eZ((BCy44  D1 54 )444s   &EE	c                N   V'       dR   VP                   R 8X  dA   VP                  R8X  d0   VP                  \        P                  P                  RR7      4       \        V\        4      '       d-   \        P                  ! R\        V4      P                   24       \        V4      ^8  d   \        P                  ! R4       V^ ,          VR,          9   g   VR,          VRR 9   d   \        P                  ! R4       VR,          pVRR pV^ R.,          pVP                  V4      p\        P                  ! VP                  4       VP                  4       4       VP!                  4       VP#                  4       VP%                  4       .pV F'  p	VP                  V	4      p\'        Wv4      '       d   K'  Q h	  \        V\(        4      '       dE   R	p
\        P*                  ! \,        V
R
7      ;_uu_ 4        VP                  . RO4       RRR4       R# R#   + '       g   i     R# ; i)r   stringzTODO: infer_string)r5   rw   zToo few values for testr|   NNNz+Index values no not satisfy test condition.rz   r:   r{   )r-   r   rC   r?   r@   rA   rG   r   r}   r~   r   rD   symmetric_differencerL   rh   r+   r   r   r   r   r	   r6   rp   )rr   r.   using_infer_stringr#   r   r   r   rc   r   rl   rP   s   &&&&       r   test_symmetric_difference$TestSetOps.test_symmetric_difference.  s    x'##x/ 1 19M 1 NOe-..KK+DK,@,@+ABCu:>KK128uRy E"Is$; KKEFb	s2w++F3
f002F4F4F4HI "F$4$4$68HID//5F!&1111  eZ((BCy44**95 54 )444s   3HH$	zfname, sname, expected_nameNc                z   VP                   '       g   VP                  4       pMTpVP                  4       P                  V4      pVP                  4       P                  V4      pVP	                  V4      pVP                  4       P                  V4      p	\
        P                  ! W4       VP                  4       P                  V4      pVP                  V4      P                  V4      pVP	                  V4      pVP                  4       P                  V4      p	\
        P                  ! W4       VP                  V4      P                  V4      pVP                  4       P                  V4      pVP	                  V4      pVP                  4       P                  V4      p	\
        P                  ! W4       VP                  V4      P                  V4      pVP                  V4      P                  V4      pVP	                  V4      pVP                  V4      P                  V4      p	\
        P                  ! W4       R # r&   )r=   r   copy	set_namesr,   rL   rh   drop
rr   r(   fnamesnameexpected_namer.   r   r   r,   ra   s
   &&&&&     r   test_corner_unionTestSetOps.test_corner_unionP  s    ###%%'EE 

&&u-''.F#::<))-8
e. 

&&u-E",,U3F#::<))-8
e. 

5!++E2''.F#::<))-8
e. 

5!++E2E",,U3F#::e$..}=
e.r   c                f   VP                   '       g   VP                  4       pMTpVP                  4       P                  V4      pVR ,          P                  V4      pVP	                  V4      P                  4       pVP                  V4      P                  4       p	\        P                  ! W4       R# r   N)r=   r   r   r   r,   r+   rL   rh   r   s
   &&&&&     r   test_union_unequalTestSetOps.test_union_unequal  s     ###%%'EE 

&&u-r$$U+F#//1??=1==?
e.r   c                ~   VP                   '       g   VP                  4       pMTpVP                  4       P                  V4      pVP                  4       P                  V4      pVP	                  V4      pVP                  4       P                  V4      p	\
        P                  ! W4       VP                  4       P                  V4      pVP                  V4      P                  V4      pVP	                  V4      pVP                  V4      P                  V4      p	\
        P                  ! W4       VP                  V4      P                  V4      pVP                  4       P                  V4      pVP	                  V4      pVP                  V4      P                  V4      p	\
        P                  ! W4       VP                  V4      P                  V4      pVP                  V4      P                  V4      pVP	                  V4      pVP                  V4      P                  V4      p	\
        P                  ! W4       R # r&   )r=   r   r   r   r^   rL   rh   r   
rr   r(   r   r   r   r.   r   r   r   ra   s
   &&&&&     r   test_corner_intersect TestSetOps.test_corner_intersect  s    ###%%'EE 

&&u-''.&&v.	::<))-8
i2 

&&u-E",,U3&&v.	::e$..}=
i2 

5!++E2''.&&v.	::e$..}=
i2 

5!++E2E",,U3&&v.	::e$..}=
i2r   c                t   VP                   '       g   VP                  4       pMTpVP                  4       P                  V4      pVR ,          P                  V4      pVP	                  V4      P                  4       pVR ,          P                  V4      P                  4       p	\        P                  ! W4       R# r   )r=   r   r   r   r^   r+   rL   rh   r   s
   &&&&&     r   test_intersect_unequal!TestSetOps.test_intersect_unequal  s     ###%%'EE 

&&u-r$$U+&&v.::<	9&&}5AAC
i2r   c                   \        V\        4      '       d/   VP                  \        \	        VP
                  4      4      4      pMVP                  R 4      p\        P                  ! V4      pVP                  V4      pVP                  VP                  8X  g   Q hVP                  VR,          4      pVP                  VP                  8X  g   Q hVR,          P                  V4      pVP                  VP                  8X  g   Q hR# )fooNr\   NN)
rG   r	   renamelistrangenlevelsrJ   asarrayr^   r]   )rr   r.   otherrc   s   &&  r   .test_intersection_name_retention_with_nameless9TestSetOps.test_intersection_name_retention_with_nameless  s    eZ((LLeEMM&:!;<ELL'E

5!##E*{{ejj((( ##E"I.{{ejj((( r''.{{ejj(((r   c                    VP                   '       g   \        P                  ! R 4       VP                  WR7      pVR,          p\        P
                  ! W4RR7       R# )z&Not relevant since index is not uniquer   r   TexactN)r=   r?   r}   r   rL   rh   )rr   r.   r   rc   ra   s   &&&  r   $test_difference_preserves_type_empty/TestSetOps.test_difference_preserves_type_empty  sF     KK@A!!%!39
fd;r   c                   \        V\        4      '       d#   V Uu. uF  q3.VP                  ,          NK  	  ppVP                  V^ ,          4      pVP                  V^,          4      pVP	                  V4      '       g   Q hVP                  V4      pVR,          P                  V^,          4      p\        P                  ! WV4       R# u upi )r\   r   N)rG   r	   r   r   equalsr   rL   rh   )rr   r.   rZ   xr   rc   ra   s   &&&    r   %test_difference_name_retention_equals0TestSetOps.test_difference_name_retention_equals  s    eZ((278%QS5==((%E8U1X&U1X&||E""""!!%(9##E!H-
f/ 9s   C
c                    VP                   '       g   \        P                  ! R 4       VP                  VR,          4      pVP	                  WR7      p\
        P                  ! W4RR7       R# )z(Not relevant because index is not uniquer   r   Tr   N)r=   r?   r}   r^   r   rL   rh   )rr   r.   r   interdiffs   &&&  r   (test_intersection_difference_match_empty3TestSetOps.test_intersection_difference_match_empty  sQ    
 KKBC""59-1
e6r   r'   r^   r,   r   r   )Ar   r   r   BN)r   NNNr   N)NNN)r   
__module____qualname____firstlineno__r?   r@   parametrizers   filterwarningsr   r   r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r   rk   rk      s    [[Vc5\2[[Q) 3) [[ VW. X.2 [[ VW' X'2 [[ VW2 X22 [[ VW6 X6B [[%	
	#/	#/J [[%	
	/	/ [[%	
	"3	"3H [[%	
	3	3 [[ VW) X)&<
0	7 	7r   rk   z7ignore:invalid value encountered in cast:RuntimeWarningru   rn   c                 8   T pVP                  R 4      p\        V\        4      '       d   RMRp\        WB4      ! WQR7      p\        WB4      ! WAR7      pV'       d+   VP                  '       d   VR9   d   VP                  R 4      p\
        P                  ! WxVR7       \        WB4      ! VR,          VR7      p\        WB4      ! VR,          VR7      pV'       d+   VP                  '       d   VR9   d   VP                  R 4      p\
        P                  ! WxVR7       R# )r   equivTr   r   rx   N)r,   r   )astyperG   r   rq   emptyrL   rh   )	r(   r   rn   r   r.   r   r   rc   ra   s	   &&&&     r   test_setop_with_categoricalr     s     ELL$E!%44G$EU#E5Fu%e7HKKK77??:.&%8U#E"ID9Fu%eBid;HKKK77??:.&%8r   c                 $   V P                   '       d   \        P                  ! R 4       T pV. RO,          pVP                  V4      P	                  VP                  V4      4      '       g   Q hVP                  V4      P
                  '       g   Q hR# )zNot relevant for empty IndexNr\   r\   r|   r   )r   r?   r}   r^   r   r=   )r.   idxidx_non_uniques   &  r   (test_intersection_duplicates_all_indexesr   2  sq    {{{23
C&NN+22>3N3Ns3STTTTN+55555r   c                 J   T p\        . ROVR7      p\        . ROVR7      p\        . ROVR7      p\        V\        4      '       d   \        . RO4      pVP                  V4      p\        P
                  ! WT4       VP                  VRR7      p\        P
                  ! WT4       R# )r|   rW   Fr   Nr|   r   r   rg   )rg   rg   r   )r|   r   r   rg   rg   r   r   rG   r   r,   rL   rh   r$   r-   rb   r4   ra   rc   s   &     r   0test_union_duplicate_index_subsets_of_each_otherr   ?  s     4El%(Aiu%A'u5H!%&&+,WWQZF&+WWQUW#F&+r   c                     T p\        . ROVR7      p\        ^ ^.VR7      p\        . ROVR7      pVP                  V4      p\        P                  ! WT4       VP                  V4      p\        P                  ! WT4       R# )r|   rW   N)r|   r\   r\   r\   r\   r|   r   r,   rL   rh   r   s   &     r   1test_union_with_duplicate_index_and_non_monotonicr   P  sg     4Eiu%Aq!fE"AYe,HWWQZF&+WWQZF&+r   c                      \        . RO4      p \        . RO4      p\        . RO4      pV P                  VRR7      p\        P                  ! W24       R# )r|   Fr   Nr   )10r   )r|   r   r   rg   r   r   r   r   )rb   r4   ra   rc   s       r   +test_union_duplicate_index_different_dtypesr   `  sA    lAoA01HWWQUW#F&+r   c                      \        . RO4      p \        . RO4      pV P                  V4      p\        . RO4      p\        P                  ! W#4       R# )r\   Nr   r   r   )rb   r4   rc   ra   s       r   (test_union_same_value_duplicated_in_bothr   i  s;    iAlAWWQZF\"H&+r   dupc                    \        \        P                  ^^^.4      p\        \        P                  V ^^.4      pVP                  VRR7      p\        \        P                  V RRR.4      p\        P
                  ! W44       R# )r|   Fr   g      ?       @N)r   rJ   nanr,   rL   rh   )r   rb   r4   rc   ra   s   &    r   test_union_nan_in_bothr   r  sk     	rvvq!Q ArvvsAq!"AWWQUW#Fbffc3S12H&+r   c                      \        ^^d^4      p \        ^^2^4      pV P                  VRR7      p\        . RO4      p\        P                  ! W#4       R# )r|   Tr   N)r|   r      
                        "   %   (   +   .   1   7   =   C   I   O   U   [   a   )r   r,   r   rL   rh   )r/   r0   rc   ra   s       r   test_union_rangeindex_sort_truer  |  sO    aa DaQDZZ4Z(F	
H: &+r   c                 F   T p\        . ROVR7      p\        . ROVR7      p\        . ROVR7      p\        V\        4      '       d   \        . RO4      pVP                  V4      p\        P
                  ! WT4       VP                  V4      p\        P
                  ! WT4       R# )r|   rW   N)r|   r\   r   r   r   r   r   s   &     r   <test_union_with_duplicate_index_not_subset_and_non_monotonicr    s{     4Eiu%Aiu%A\/H!%&&&WWQZF&+WWQZF&+r   c                     \        ^^\        P                  .4      p V P                  P                  P
                  R8X  g   Q h\        ^^.4      pVP                  V 4      p\        ^^\        P                  .\        P                  R7      p\        P                  ! W#4       V P                  V4      p\        P                  ! W#4       R# )r|   r3   rW   N)r   rJ   r   
categoriesr-   r>   r   r,   float64rL   rh   )cir   rc   ra   s       r   #test_union_int_categorical_with_nanr    s    	1a.	)B==##s***
A-CYYr]FaBFF^2::6H&+XXc]F&+r   c            	         a  ] tR tRt o R t]P                  P                  RR.RR7      R 4       t]P                  P                  R. R)O4      R
 4       t	]P                  P                  RR.RR7      ]P                  P                  R. R*O4      R 4       4       t
R t]P                  P                  RR.RR7      R 4       t]P                  P                  R]P                  ]].4      ]P                  P                  RR.RR7      R 4       4       t]P                  P                  RR.RR7      R 4       t]P                  P                  RR.RR7      ]P                  P                  RR+R,.4      R 4       4       tR tR t]P                  P                  RR.RR7      R 4       t]P                  P                  RR.RR7      R 4       t]P                  P                  RRR.4      R 4       t]P                  P                  RRR.4      R 4       tR t]P                  P                  R^ ^]P6                  .. R-O3^ ^.]P6                  RR R!.3.4      R" 4       tR# tR$ tR% t] PB                  ! R&4      R' 4       t"R(t#V t$R	# ).TestSetOpsUnsortedi  c                    \        R ^^	4      \        R ^^4      .p\        V\        R7      p\        R.\        R7      pVP                  V4      p\        . \        R7      p\        P
                  ! WE4       R# )i  rW   aaN)r   r   r   r^   rL   rh   )rr   dt_datesindex1index2rc   ra   s   &     r   test_intersect_str_dates+TestSetOpsUnsorted.test_intersect_str_dates  sb    T1a((4B*?@xv.vV,$$V,6*
f/r   r.   r   T)indirectc                "   VR ,          pVR,          pVP                  WBR7      pVR9   d5   \        P                  ! VP                  4       VP                  4       4       M\        P                  ! WT4       VP                  W2R7      pWcJg   Q hR# )N   NNr   Nr   NNF)r^   rL   rh   r+   )rr   r.   r   r   r   r   r   s   &&&    r   test_intersection$TestSetOpsUnsorted.test_intersection  s    c
s&&v&9	= !!)"7"7"96;M;M;OP!!)4 ""5"4!!!r   zindex2_name,keeps_nameNc                   \        . ROVR7      p\        . RORR7      p\        . RO4      pVP                  WC4      pV'       d   RVn        VP                  VP                  8X  g   Q h\        P                  ! Wv4       R# )rg   r]   r.   N)rg   r   ry      r   r|   r   rg   r   ry   rg   r   ry   )r   r^   r]   rL   rh   )rr   index2_name
keeps_namer   r#  r"  ra   rc   s   &&&&    r   #test_intersection_name_preservation6TestSetOpsUnsorted.test_intersection_name_preservation  sd     [9W5#$$V2#HM{{hmm+++
f/r   z$first_name,second_name,expected_namec                    VR ,          pVR,          pW&n         W7n         VP                  WuR7      pVP                   V8X  g   Q hR# )ry   r)  Nr*  r   N)r]   r^   )	rr   r.   
first_namesecond_namer   r   r   r   r   s	   &&&&&&   r   $test_intersection_name_preservation27TestSetOpsUnsorted.test_intersection_name_preservation2  sE     ds
!&&v&9	~~...r   c                   \        ^^.RR7      p\        ^^.RR7      p\        ^^.RR7      pVP                  VP                  WAR7      VR7      pVP                  W1R7      P                  WAR7      p\        P                  ! WV4       \        ^^.RR7      p\        . RR7      p\        . RR7      p	VP                  VP                  WR7      VR7      pVP                  WR7      P                  WR7      p\        P                  ! WV4       R	# )
r|   i1r/  i2i3r   j1j2j3Nr   )
rr   r   r>  r?  r@  r,   ra   rA  rB  rC  s
   &&        r   test_chained_union%TestSetOpsUnsorted.test_chained_union  s    Aq6%Aq6%Aq6%"0t<88B8*000?
e.Aq6%2D!2D!"0t<88B8*000?
e.r   c                   VR ,          pVR,          pVR,          pVP                  WBR7      pVR9   d6   \        P                  ! VP                  4       VP                  4       4       R# \        P                  ! We4       R# r8  r*  r(  r   Nr+  )r,   rL   rh   r+   )rr   r.   r   r   r   r   r,   s   &&&    r   
test_unionTestSetOpsUnsorted.test_union  se    ds3Z
F.= !!%"3"3"5z7M7M7OP!!%4r   klassc                (   VR ,          pVR,          pVR,          pV! VP                   4      pVP                  WsR7      pVR9   d6   \        P                  ! VP	                  4       VP	                  4       4       R# \        P                  ! W4       R# rG  )re   r,   rL   rh   r+   )	rr   r.   rJ  r   r   r   r   rl   rc   s	   &&&&     r   test_union_from_iterables,TestSetOpsUnsorted.test_union_from_iterables  su     ds3Z
V]]#T-= !!&"4"4"6
8N8N8PQ!!&5r   c                   VR ,          pVP                  W2R7      pWCJg   Q hVP                  \        . VP                  R7      VR7      pWCJg   Q h\        . VP                  R7      P                  W2R7      pWCJg   Q hR# )r8  r   rW   N)r,   r   r-   )rr   r.   r   r   r,   s   &&&  r   test_union_identity&TestSetOpsUnsorted.test_union_identity*  s|    dE-!!! E"EKK8tD!!!b,2252D!!!r   zsecond_name,expectedc                x   VR ,          pVR,          pVR,          pRVn         W&n         VP                  WdR7      pVRJ d   \        P                  ! W4       M9W'n         \        P                  ! VP	                  4       VP	                  4       4       Vf   VP                   e   Q hR# VP                   V8X  g   Q hR# )r8  r*  r   r)  Nr]   r   TN)r]   r   rL   rh   r+   )	rr   r.   r:  ra   r   r   r   r   rc   s	   &&&&&    r   !test_difference_name_preservation4TestSetOpsUnsorted.test_difference_name_preservation:  s     dsu
!!!&!44<!!&1%K!!&"4"4"68J8J8LM;;&&&;;(***r   c                    VP                  4       pVR ,          pRVn        VP                  . V4      pVR ,          P                  4       pRVn        \        P
                  ! WE4       R# r8  r]   N)r   r]   r   r   rL   rh   )rr   r.   r   r   rc   ra   s   &&&   r   test_difference_empty_arg,TestSetOpsUnsorted.test_difference_empty_argP  sV    

d
!!"d+;%%'
f/r   c                    \        ^^.4      p\        R.4      pVP                  V4      p\        ^.4      p\        P                  ! W44       R# )r|   TN)r   r   rL   rh   )rr   r_   r`   rc   ra   s   &    r   "test_difference_should_not_compare5TestSetOpsUnsorted.test_difference_should_not_compareY  sA    aV}tf'!:
f/r   c                    VR ,          pRVn         VP                  W24      p\        V4      ^ 8X  g   Q hVP                   VP                   8X  g   Q hR# rV  )r]   r   rD   )rr   r.   r   r   rc   s   &&&  r   test_difference_identity+TestSetOpsUnsorted.test_difference_identitya  sJ    d
!!%.6{a{{ejj(((r   c                    VR ,          pVR,          pVP                  WB4      pVR,          pVf   VP                  4       p\        P                  ! WV4       R# )r8  r*  rR  N)r   r+   rL   rh   )rr   r.   r   r   r   rc   ra   s   &&&    r   test_difference_sort'TestSetOpsUnsorted.test_difference_sortj  sN    ds!!&/<<++-H
f/r   opnamer   r   c                   \        ^\        R4      ^.4      p\        ^\        R4      ^.4      p\        P                  ! W4      p\        P
                  ! \        RR7      ;_uu_ 4        V! V4      pRRR4       \        ^\        R4      ^\        R4      .4      pVR8X  d
   VR,          p\        P                  ! XV4       \        P                  ! WRR	7      pV! V4      p\        P                  ! WV4       R#   + '       g   i     L; i)
rg   20001999znot supported betweenr:   Nr   :Nr   NFr   )r   r   operatormethodcallerrL   rM   rF   rh   )rr   rb  rb   r4   oprc   ra   s   &&     r   test_difference_incomparable/TestSetOpsUnsorted.test_difference_incomparablew  s    1i'+,1i'+,""6-''>UVVUF W !Yv.9V3DEF\!|H
fh/ ""659A
f/ WVs   )	C::D
	c                (   \        ^\        R4      ^.4      p\        ^\        R4      ^.4      p\        P                  ! WRR7      pRp\        P
                  ! \        VR7      ;_uu_ 4        V! V4       RRR4       R#   + '       g   i     R# ; i)rg   rd  re  Tr   z<'<' not supported between instances of 'Timestamp' and 'int'r:   N)r   r   rf  rg  r?   r6   rp   )rr   rb  rb   r4   rh  rP   s   &&    r   !test_difference_incomparable_true4TestSetOpsUnsorted.test_difference_incomparable_true  sl    1i'+,1i'+,""648L]]9C00qE 1000s   -	B  B	c                &   \         P                  ! \        . RO. RO4      4      p\         P                  ! RR.4      pVP                  W1R7      p\         P                  ! . RO4      pVf   VP	                  4       p\
        P                  ! WE4       R# )r   r   N)r   barbazr{   )r   r|   ro  rg   ))ro  r   )rp  rg   rq  )r	   from_tupleszipr   r+   rL   rh   )rr   r   r"  r#  rc   ra   s   &&    r   test_symmetric_difference_mi/TestSetOpsUnsorted.test_symmetric_difference_mi  st    '',A9(MN''Z(@A,,V,?))*NO<++-H
f/r   zindex2,expectedr         @        c                    \        V4      p\        V4      p\        ^\        P                  ^^.4      pVP                  WR7      pVf   VP	                  4       p\
        P                  ! WR4       R# )r|   r   N)r   rJ   r   r   r+   rL   rh   )rr   r#  ra   r   r"  rc   s   &&&&  r   !test_symmetric_difference_missing4TestSetOpsUnsorted.test_symmetric_difference_missing  sc     v? 2661a(),,V,?<++-H
f/r   c                $   \        . RORR7      p\        P                  ! . RO4      p\        ^^.RR7      pVP                  W1R7      pVR	9   d   \        P
                  ! WT4       M%\        P
                  ! VP                  4       V4       VP                  R8X  g   Q hVP                  VRVR7      pRVn        VR	9   d   \        P
                  ! WT4       M%\        P
                  ! VP                  4       V4       VP                  R8X  g   Q hR# )
r|   r"  r/  r   Nnew_name)result_namer   )r|   r   rg   r   )r   rg   r   ry   )NT)r   rJ   arrayr   rL   rh   r+   r]   )rr   r   r"  r#  ra   rc   s   &&    r   #test_symmetric_difference_non_index6TestSetOpsUnsorted.test_symmetric_difference_non_index  s    |(3,'!Qh/,,V,?<!!&3!!&"4"4"6A{{h&&&,,VRV,W"<!!&3!!&"4"4"6A{{j(((r   c                    \        . ROVR7      p\        . ROVR7      pVP                  V4      p\        . ROVR7      p\        P                  ! WE4       R# )r|   rW   Nr{   r2  r1  r   )rr   any_numeric_ea_and_arrow_dtyper   r0   rc   ra   s   &&    r   test_union_ea_dtypes'TestSetOpsUnsorted.test_union_ea_dtypes  sD    I%CDY&DE40NO
f/r   c                    \        R .VR7      p\        R.VR7      pVP                  V4      p\        R R.VR7      p\        P                  ! WE4       R# )rb   rW   r4   Nr   )rr   any_string_dtyper/   r0   rc   ra   s   &&    r   test_union_string_array*TestSetOpsUnsorted.test_union_string_array  sM    cU"23cU"23D!#s+;<
f/r   pyarrowc                    \        R .RR7      p\        R.RR7      pVP                  V4      p\        R R.VP                  R7      p\        P                  ! W44       R# )z
2020-01-01ztimestamp[s][pyarrow]rW   z
2020-01-02N)r   r,   r-   rL   rh   )rr   r_   r`   resra   s   &    r   test_union_pyarrow_timestamp/TestSetOpsUnsorted.test_union_pyarrow_timestamp  sS     l^+BC|n,CDjj,5TZZH
c,r   r'   ))r.   T)r   Fr+  )r   r   r   )NN)r]   r]   )r   rv  rw  )%r   r   r   r   r$  r?   r@   r   r,  r5  r;  rD  rH  rJ   r~  r   r   rL  rO  rS  rW  rZ  r]  r`  ri  rl  rt  r   ry  r  r  r  td
skip_if_nor  r   r   r   s   @r   r  r    s    0 [[Wxj4@" A" [[ 	

0
0 [[Wxj4@[[.>/	 A
//  [[Wxj4@	5 A	5 [[Wrxx&>?[[Wxj4@6 A @6 [[Wxj4@" A" [[Wxj4@[[3lDT5UV+ W A+(00 [[Wxj4@) A) [[Wxj4@
0 A
0 [[X6L'MN0 O0$ [[X6L'MN O0 [[BFF^_-Vbffc3,-	

0
0)&00 ]]9- -r   r  c                  ,   \        ^ ^.RR7      p \        ^ ^.RR7      pV P                  V4      pW Jg   Q hW!Jg   Q h\        P                  ! W 4       VP                  R8X  g   Q hRV n        VP                  R8X  g   Q hV P                  R8X  g   Q hR# r\   originalr/  changedN)r   r^   rL   rh   r]   r"  r#  rc   s      r   !test_intersection_mutation_safetyr    s    Aq6
+FAq6
+F  (F&);;*$$$FK;;*$$$;;)###r   c                  ,   \        ^ ^.RR7      p \        ^ ^.RR7      pV P                  V4      pW Jg   Q hW!Jg   Q h\        P                  ! W 4       VP                  R8X  g   Q hRV n        VP                  R8X  g   Q hV P                  R8X  g   Q hR# r  r   r,   rL   rh   r]   r  s      r   test_union_mutation_safetyr    s    Aq6
+FAq6
+F\\&!F&);;*$$$FK;;*$$$;;)###r   c                     \        ^ ^.RR7      p \        ^ ^.RR7      pV P                  V4      pW!Jg   Q h\        P                  ! W!4       VP                  R8X  g   Q hRVn        VP                  R8X  g   Q hVP                  R8X  g   Q hR# r  r  r  s      r    test_union_mutation_safety_otherr    s    Aq6
+FAq6
+F\\&!F&);;*$$$FK;;*$$$;;)###r   c                      \         P                  ! RR.RR.R7      p \         P                  ! RR.RR.R7      pV P                  V4      pW Jg   Q hRR.V n        VP                  RR.8X  g   Q hR# 	rb   r   y)rZ   changed1changed2N)rb   r|   )r4   r   )r	   rr  r^   rZ   mi1mi2rc   s      r   ,test_multiindex_intersection_mutation_safetyr    sv    

 
 (H!5c3Z
HC

 
 (H!5c3Z
HCc"FZ(CI<<C:%%%r   c                      \         P                  ! RR.RR.R7      p \         P                  ! RR.RR.R7      pV P                  V4      pW Jg   Q hRR.V n        VP                  RR.8X  g   Q hR# r  )r	   rr  r,   rZ   r  s      r   %test_multiindex_union_mutation_safetyr  !  ss    

 
 (H!5c3Z
HC

 
 (H!5c3Z
HCYYs^FZ(CI<<C:%%%r   ))int64r  r  )r  rK   r   )r  r  r  )rK   r  r  )rK   rK   rK   )r  r  r  )r   r  r   )r   rK   r   )r   r  r   )datetime64[ns, CET]r  r   )r  rK   r   )r  r  r   )	Period[D]r  r   )r  rK   r   )r  r  r   )r   r   r   )r   ro  Nr   r   )A__doc__r   rf  numpyrJ   r?   pandas._libsr   pandas.util._test_decoratorsutil_test_decoratorsr  pandas.core.dtypes.castr   pandasr   r   r   r   r	   r
   r   r   r   pandas._testing_testingrL   pandas.api.typesr   r   r   fixtureALL_REAL_NUMPY_DTYPESr$   r)   r1   rV   r@   r   aranger  r  rK   rY   rd   ri   rk   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r'   r   r   <module>r     s  
      ) ) 4
 
 
 . 		!	! 	 		
 	  0G*T 	ryy|288	,jm<	ryy|2::	.biil"((0ST	ryy|2::	.
1>	ryy|2::	.biil"))0TU	22 ( #8:N"OP# Q)*# L1a&#9:, ;,z7 z7z	 UVRSM9 T W
98
6,", ,, BFF,, -,",J,$,Y- Y-x$&$&$$	&	&r   