
    A>im                         S SK J r JrJr  S SKrS SKrS SKJs  Jr	  S SK
rS SK
JrJrJrJrJrJrJr  S SKJr  S SKJrJrJr  \ " SSS5      \ " SSS5      srr " S S	5      r " S
 S5      r " S S5      rS rS r S r!g)    )datetime	timedeltatimezoneN)	DataFrameDatetimeIndexIndexSeries	Timestampbdate_range
date_range)	BMonthEndMinuteMonthEndi     i  c                      \ rS rSr/ SQrS r\R                  R                  S\	R                  \\/5      S 5       r\R                  R                  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\R                  R                  S/ SQ5      S 5       r\R                  R                  SSS/5      S 5       rS r\R                  R                  S\5      S 5       r S r!S r"\R                  R                  S/ S Q5      S! 5       r#S" r$S# r%\R                  R                  S$/ S%Q5      S& 5       r&S' r'S(r(g))*TestDatetimeIndexSetOps!   )NUTC
Asia/Tokyo
US/Easternzdateutil/Asia/Singaporedateutil/US/Pacificc                 v    [        SSS9nUS S nUSS  nUR                  XAS9n[        R                  " XR5        g N
2020-01-01
   periods   sortr   uniontmassert_index_equal)selfr    
everythingfirstsecondr"   s         i/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/indexes/datetimes/test_setops.pytest_union2#TestDatetimeIndexSetOps.test_union2,   sB    b9
2AABF.
e0    boxc                     [        SSS9nUS S nUSS  nUR                  XQS9nU" UR                  5      nUR                  XqS9n[        R                  " X5        g r   )r   r"   valuesr#   r$   )	r%   r    r-   r&   r'   r(   expectedcaseresults	            r)   test_union3#TestDatetimeIndexSetOps.test_union33   sb    b9
2AAB ;;v;16==!T-
f/r,   tzc                    [        SSSUSS9n[        SSSUSS9n[        SSSUSS9n[        [        U5      [        U5      -   5      n[        SSSUSS9n[        SSSUSS9n[        SSS	USS9n	[        [        U5      [        US S
 5      -   5      n
[        SSSUSS9n[        / US9R                  S5      n[        SSSUSS9nUnX4XV4XxX4XX44 Hq  u  nnnnUR	                  UUS9n[
        R                  " UU5        UR	                  XS9nUc  [
        R                  " UU5        MZ  [
        R                  " UU5        Ms     g )N1/1/2000Dr   ns)freqr   r5   unit1/6/2000r   1/4/2000      r5   r   )r   r   listas_unitr"   r#   r$   )r%   r5   r    rng1other1	expected1expected1_notsortedrng2other2	expected2expected2_notsortedrng3other3	expected3expected3_notsortedrngotherexpexp_notsortedresult_unions                       r)   
test_union"TestDatetimeIndexSetOps.test_union?   sm   *3btLJS!NzRBTR	+DL4:,EF*3btLJS!NzQ2DQ	+DL4Ra>,IJ*3btLrb)11$7zQ2DQ	" 9:9:9:/
*C]
 99U96L!!,4 ;;s;6L|%%lC8%%lMB/
r,   c                     [        / SQ5      n[        UR                  5       SS9nUR                  X!S9n[        R                  " XC5        US S R                  X1S9n[        R                  " XC5        UR
                  UR
                  :X  d   eg )N)
2000-01-03
2000-01-01
2000-01-02inferr:   r   r   )r   sort_valuesr"   r#   r$   r:   )r%   r    idxorderedr2   s        r)   test_union_coverage+TestDatetimeIndexSetOps.test_union_coverage^   s{    FG 1@s.
f.!""7"6
f.{{gll***r,   c                     [        SSSS9n[        SSSS9nUR                  X1S9n[        U5      [        USS  5      -   nUc  [        [	        U5      5      nO[        U5      n[
        R                  " XE5        g )N1/1/2012   3hr   r:   4hr   r   )r   r"   rA   r   sortedr#   r$   )r%   r    rng_arng_br2   rQ   s         r)   test_union_bug_1730+TestDatetimeIndexSetOps.test_union_bug_1730h   sq    :qt<:qt<U.5kDqrO+<s,C$C
f*r,   c                     [        S/5      n[        / SQ5      nUR                  X1S9n[        / SQ5      nUc  UR                  5       n[        R                  " XE5        g )N2012-05-11 15:19:49.695000)2012-05-29 13:04:21.3220002012-05-11 15:27:24.8730002012-05-11 15:31:05.350000r   )rm   rn   ro   rp   )r   r"   r\   r#   r$   )r%   r    leftrightr2   rQ   s         r)   test_union_bug_1745+TestDatetimeIndexSetOps.test_union_bug_1745t   sa    :;<
 E-
 <//#C
f*r,   c                     SSK Jn  [        SS5      nX2" SS9-   nUR                  XAS9n[	        U5      [	        U5      -   nUc  [        [        U5      5      nO[        U5      n[        R                  " XV5        g )Nr   
DateOffsetz
2013-01-01z
2013-02-01   )minutesr   )	pandasrw   r   r"   rA   r   rg   r#   r$   )r%   r    rw   rq   rr   r2   rQ   s          r)   test_union_bug_4564+TestDatetimeIndexSetOps.test_union_bug_4564   sm    %,5z"--E-4j4;&<s,C$C
f*r,   c                     [        SSS9nS UR                  l        UR                  X!S9n[        R
                  " X25        UR                  b   eg )N20150101r   r   r   )r   _datar:   r"   r#   r$   )r%   r    r0   r2   s       r)   test_union_freq_both_none1TestDatetimeIndexSetOps.test_union_freq_both_none   sH    z26"4
f/{{"""r,   c                     [        SSS9nU/ SQ   nU/ SQ   nUR                  b   eUR                  b   eUR                  U5      n[        R                  " XA5        UR                  S:X  d   eg )Nz
2016-01-01r   r   )r   r   r?   rc   )   r?   r   r8   )r   r:   r"   r#   r$   )r%   dtirq   rr   r2   s        r)   test_union_freq_infer-TestDatetimeIndexSetOps.test_union_freq_infer   sq     q1< Iyy   zz!!!E"
f*{{c!!!r,   c                    [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        X$S.5      n[        SSSS9n[        R                  " UR                  U5        g )	Nz1/1/1999rb   MSr[   r   z1/1/1980z	12/1/2001)s1s2)r   r	   nprandomdefault_rngstandard_normallenr   r#   r$   index)r%   rC   r   rG   r   dfrQ   s          r)   test_union_dataframe_index2TestDatetimeIndexSetOps.test_union_dataframe_index   s    *jt<BII))!,<<SYGN*k=BII))!,<<SYGNb+,Zd;
bhh,r,   c           	          [        [        R                  " SSS[        R                  S95      n[	        SSSS9nUR                  X1S	9  UR                  X!S	9  g )
Nr      r   dtypez2012-01-03 00:00:00r   r8   )startr   r:   r   )r   r   arangeint64r   r"   )r%   r    i1i2s       r)   test_union_with_DatetimeIndex5TestDatetimeIndexSetOps.test_union_with_DatetimeIndex   sJ    299QARXX673RcJ

r,   c                     [        SSSS9R                  S5      n[        SSSS9R                  S5      nUR                  U5      n[        SSSS9R                  S5      n[        R                  " X45        g )NrX   r?   r   r   r5   msus)r   rB   r"   r#   r$   )r%   idx1idx2r2   r0   s        r)   (test_union_same_timezone_different_units@TestDatetimeIndexSetOps.test_union_same_timezone_different_units   si    ,e<DDTJ,e<DDTJD!lA%@HHN
f/r,   c                 b   Sn[        SSUS9R                  S5      n[        SSUS9R                  S5      nUR                  UR                  :X  d   eUR                  UR                  :w  d   eUR	                  U5      n[        SSUS9R                  S5      n[
        R                  " XE5        g N	UTC+05:00rX   r?   r   r   r9   )r   rB   r5   r   r"   r#   r$   )r%   r5   r   r   r2   r0   s         r)   0test_union_same_nonzero_timezone_different_unitsHTestDatetimeIndexSetOps.test_union_same_nonzero_timezone_different_units   s     ,b9AA$G,b9AA$G ww$''!!!zzTZZ''' D!lA"=EEdK
f/r,   c                     Sn[        SSUS9R                  S5      n[        SSUS9R                  S5      nUR                  U5      n[        / SQUS9R                  S5      n[        R
                  " XE5        g )	Nr   rX   r?   r   r   rW   )rX   rY   rW   
2000-01-04z
2000-01-05r@   )r   rB   r"   r   r#   r$   )r%   r5   r   idx3r2   r0   s         r)   8test_union_different_dates_same_timezone_different_unitsPTestDatetimeIndexSetOps.test_union_different_dates_same_timezone_different_units   sy     ,b9AA$G,b9AA$G D! R
 '$- 	 	f/r,   c                    Sn[        SSUS9R                  S5      n[        SSUS9R                  S5      nUR                  UR                  :X  d   eUR                  UR                  :w  d   eUR	                  U5      n[        SSUS9n[
        R                  " XE5        UR	                  U5      n[
        R                  " XeR                  S5      5        g r   )r   rB   r5   r   intersectionr#   r$   )r%   r5   r   r   r2   r0   result2s          r)   /test_intersection_same_timezone_different_unitsGTestDatetimeIndexSetOps.test_intersection_same_timezone_different_units   s     ,b9AA$G,b9AA$G ww$''!!!zzTZZ''' ""4(lA"=
f/ ##D)
g'7'7'=>r,   c                 d   Sn[        SSUS9R                  S5      n[        SSUS9R                  S5      nUR                  UR                  :X  d   eUR                  UR                  :w  d   eUR	                  U5      n[        SS/US	9R                  S5      n[        R                  " XE5        g )
Nr   rX   r?   r   r   rY   r9   r   r@   )r   rB   r5   r   symmetric_differencer   r#   r$   )r%   r5   r   idx4r2   r0   s         r)   7test_symmetric_difference_same_timezone_different_unitsOTestDatetimeIndexSetOps.test_symmetric_difference_same_timezone_different_units   s     ,b9AA$G,b9AA$G ww$''!!!zzTZZ''' **40 ,!="EMMdS
f/r,   c                    [        SSS9nUSS  nUR                  U5      n[        R                  " X25        [        R
                  [        [        4 Vs/ s H  oD" UR                  5      PM     nnU H*  nUR                  U5      n[        R                  " Xr5        M,     [        / SQ5      nUR                  U5      n[        / [        S9n	[        R                  " Xy5        g s  snf )Nr   r   r   r   )abcr   )r   r   r#   r$   r   arrayr	   rA   r/   r   object)
r%   r'   r(   	intersectklasscasesr1   r2   thirdr0   s
             r)   test_intersection2*TestDatetimeIndexSetOps.test_intersection2  s    <4qr&&v.	
i0 57HHfd3KL3K%v}}%3KLD''-F!!&1  o&##E*6*
f/ Ms   C$)Nr   r   r   c           	         [        SSSSSS9n[        SSSSSS9n[        SSSSSS9n[        SSSS	SS9n[        SSSS SS9n[        S
SSSSS9n[        / SSSS9n	XE4Xg4X44 HH  u  pUR                  U
5      n[        R                  " X5        UR
                  UR
                  :X  a  MH   e   [        / SQUSS9R                  S5      n[        / SQUSS9R                  S5      n[        SS/USS9R                  S5      n[        / SQUS	S9R                  S5      n[        SS/US S9R                  S5      n[        S
SSUSSS9n[        / USS9R                  S5      n	U	R
                  b   eXE4Xg4X44 HY  u  pUR                  XS9nUc  UR                  5       n[        R                  " X5        UR
                  UR
                  :X  a  MY   e   g )N6/1/2000z	6/30/2000r8   r]   r9   )r:   namer;   z	5/15/2000z	6/20/2000rP   z7/1/2000z	7/31/2000M8[ns])r:   r   r   )z
2011-01-05
2011-01-04
2011-01-02z
2011-01-03)r5   r   )r   r   z
2011-02-02z
2011-02-03r   r   )r:   r5   r;   r   r   )r   r   r   r#   r$   r:   rB   r\   )r%   r5   r    baserG   rI   rK   rM   rng4	expected4rO   r0   r2   s                r)   test_intersection)TestDatetimeIndexSetOps.test_intersection!  s<   
 *k%dS +{5tTz;SuSWX	 +{7QUVz;StRVW	*k%dS!"3U(K	 
MC
 &&s+F!!&3;;(--///
 DRW

'$- 	 DRW

'$- 	 "<(Re

'$- 	 D
 '$-	 	
 "<(Rd

'$- 	
 #"4e
 ""%8@@F	~~%%% 
MC
 &&s&6F|#//1!!&3;;(--///
r,   r:   minBc                 z   Un[        SSX#S9nUSS R                  U5      n[        U5      S:X  d   eUR                  UR                  :X  d   eUR                  USS 5      n[        U5      S:X  d   eUR                  UR                  :X  d   eUS:g  nUS S R                  USS  5      n[        R
                  " XTS S 5        U(       a  UR                  UR                  :X  d   eUSS  R                  US S 5      n[        R
                  " XTS S 5        U(       a  UR                  UR                  :X  d   eg g )Nr   z	6/15/2000r:   r5   r   r   r?   )r   r   r   r:   r#   r$   )r%   tz_aware_fixturer:   r5   rO   r2   
check_freqs          r)   test_intersection_empty/TestDatetimeIndexSetOps.test_intersection_emptye  s7    [tCQq&&s+6{a{{chh&&&!!#a(+6{a{{chh&&& U]
Ra%%c"#h/
f"1g.;;#((*** RS&&s2Aw/
f"1g.;;#((*** r,   c                 z    SSK Jn  [        SSSS9nX!" SS9-   nUR                  U5      n[	        U5      S:X  d   eg )	Nr   rv   rb   rc   12hre   r   hours)rz   rw   r   r   r   )r%   rw   index_1index_2r2   s        r)   test_intersection_bug_17082TestDatetimeIndexSetOps.test_intersection_bug_1708  sD    %Z?JQ//%%g.6{ar,   c                    / SQn[        X1S9n[        SSSUS9n[        X1S9n[        X1S9n[        SSSUS9n[        US S US9n	[        X1S9n
[        / US9n[        X1S9nXEU4XxU	4XU44 HQ  u  pnUR                  X5      nUc   [        U5      (       a  UR	                  5       n[
        R                  " UU5        MS     g )	N)z1/2/2000z1/3/2000r7   r=   z1/5/2000r@   r<   r8   r   )r:   r   r5   r=   r?   )r   r   
differencer   r\   r#   r$   )r%   r5   r    	rng_datesrC   rD   rE   rG   rH   rI   rK   rL   rM   rO   rP   r0   result_diffs                    r)   test_difference'TestDatetimeIndexSetOps.test_difference  s    P	Y.JS!C!)3	Y.JS!C!)BQ-B7	Y.rb)!)3	 9%9%9%%
 C
 ..5K|E

#//1!!+x8%
r,   c                 x   [        SSSSS9n[        SSSSS9n[        SS/SS S	9nUR                  X15      n[        R                  " XT5        [        R
                  " S
XT5        [        SSSSS9nUR                  X15      n[        SS/SSS	9n[        R                  " XT5        [        R
                  " S
XT5        g )N2016092020160925r8   r9   )r:   r;   2016092120160924r   r   r:   r:   20160922)r   r   r   r#   r$   assert_attr_equal)r%   r    r   rP   r0   idx_diffs         r)   test_difference_freq,TestDatetimeIndexSetOps.test_difference_freq  s     :z$G:z$G *j!9PTU##E0
h1
VX8 :z$G##E0 *j!9PST
h1
VX8r,   c                     [        S[        SSS5      SS9n[        S[        SSS5      SS9n[        UR                  X15      5      S:X  d   eg )	NzQE-JANi        d   )r:   r   r   b   r   )r   r   r   r   )r%   r    dti1dti2s       r)   test_datetimeindex_diff/TestDatetimeIndexSetOps.test_datetimeindex_diff  sL    xxb"/EsSxxb"/ErR4??4./1444r,   )Nr   r   c                    [        SSSUS9nUS S R                  USS 5      nUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUS S R                  USS 5      nUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUS S R                  USS 5      nUR                  UR                  :X  d   eUR                  b   eUR                  UR                  :X  d   eUS S R                  US	S
 5      nUR                  UR                  :X  d   eUR                  S:X  d   eUR                  UR                  :X  d   e[        [        US	S
 5      SS9nUS S R                  U5      nUR                  b   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUS S R                  U5      nUR                  b   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eg )Nr7   z1/1/2002r]   )r   r5   2   r      <      K   r8   rP   r   )	r   r"   r   r:   r5   r   freqstrr   rA   )r%   r5   rO   r2   nofreqs        r)   test_setops_preserve_freq1TestDatetimeIndexSetOps.test_setops_preserve_freq  s3   ZeCSbBs,{{chh&&&{{chh&&&yyCFF"""SbBs,{{chh&&&{{chh&&&yyCFF"""SbBs,{{chh&&&{{"""yyCFF"""Sb&&s2bz2{{chh&&&~~$$$yyCFF"""tC2J/g>Sb'{{"""{{chh&&&yyCFF"""Sb&&v.{{"""{{chh&&&yyCFF"""r,   c                     [        / SQSS9nUS S S2   R                  USS S2   5      nUS S n[        R                  " X#5        g )N)z
2018-12-31z
2019-03-31z
2019-06-30z
2019-09-30z
2019-12-31z
2020-03-31zQE-DECr[   r   r   r   )r   r   r#   r$   )r%   r   r2   r0   s       r)   &test_intersection_non_tick_no_fastpath>TestDatetimeIndexSetOps.test_intersection_non_tick_no_fastpath  sS     

 SqS&&s14a4y1r7
f/r,   c                     [        SSSSS9nUSS S S S2   nUS	S
 S S S2   nUR                  UR                  :X  d   eUR                  U5      nUR                  UR                  :X  d   eg )Nz1/1/2011r   hutcr   r:   r5   r   Z   r   P   )r   r5   r   )r%   rO   rq   rr   r2   s        r)   test_dti_intersection-TestDatetimeIndexSetOps.test_dti_intersection  sv    SsuE2bz$B$Br
4R4 ww#&&   ""5)yyDGG###r,   setop)r"   r   r   c                    [        SSSSS9n[        SSSSS9n[        X!5      " U5      nUR                  S5      nUR                  S5      n[        XQ5      " U5      n[        R                  " XG5        UR
                  UR
                  :X  d   e[        U5      (       aE  US	   R
                  [        R                  L d   eUS
   R
                  [        R                  L d   eg g )Nz2012-11-15 00:00:00   r  z
US/Centralr  z2012-11-15 12:00:00r   r   r   r  )	r   getattr
tz_convertr#   r$   r5   r   r   r  )r%   r  rO   rG   r2   rq   rr   r0   s           r)   test_dti_setop_aware,TestDatetimeIndexSetOps.test_dti_setop_aware  s     .U/V$T*~~e$&4'.
f/yyDGG###v;;!9<<8<<///":==HLL000 r,   c           
      $   [        [        S5      [        R                  /5      n[        SS/SS9nUR	                  U5      n[        [        S5      [        R                  [        SSS9[        SSS9/[        S9n[        R                  " X45        g )Nz
2011-01-01z
2012-01-01z
2012-01-02r   r@   r   )	r   r
   pdNaTr"   r   r   r#   r$   )r%   rO   rG   r2   r0   s        r)   test_dti_union_mixed,TestDatetimeIndexSetOps.test_dti_union_mixed  s    Y|4bff=>lL9lK4,',<8,<8	 
 	f/r,    N))__name__
__module____qualname____firstlineno__r5   r*   pytestmarkparametrizer   r   r	   rA   r3   rT   r_   rj   rs   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  __static_attributes__r   r,   r)   r   r   !   s   
B1 [[URXXvt$<=	0 >	0 [[T2&C 'C<+
++.+#"	- 00 0?(0"0" [[G=0=0B [[VeS\2+ 3+6  [[T2&9 '949$5
 [[T#EF # G #D0"$ [[W&WX1 Y1$0r,   r   c                       \ rS rSrS rS rS rS rS rS r	\
R                  S 5       r\R                  R                  S	S
S/5      S 5       rSrg)TestBusinessDatetimeIndexi  c                    [        [        [        5      nUS S nUSS nUR                  XAS9n[	        U[
        5      (       d   eUS S nUSS  nUR                  XAS9n[	        U[        5      (       d   eUS S nUSS nUR                  XAS9n[	        U[
        5      (       d   eUc%  [        R                  " UR                  X1S9U5        OD[        [        U5      [        U5      -   5      n[        R                  " UR                  X1S9U5        [        [        [        [        5       S9nUR                  X!S9n[	        U[
        5      (       d   eg )Nr   r   r   r[   )r   STARTENDr"   
isinstancer   r   r#   r$   rA   r   r   )r%   r    rO   rq   rr   	the_unionr0   s          r)   rT   $TestBusinessDatetimeIndex.test_union   sF   %%3BxAb	JJuJ0	)]3333 2AwBCJJuJ0	)U++++ 2AwAb	JJuJ0	)]3333 <!!%++d+">	J$T%[4:%=>H!!%++d+">I )+6IIcI-	)]3333r,   c                 p   [        SS[        5       S9nUSS  nUS S nUR                  XAS9nUc  [        R                  " XR5        O<[        [        USS  5      [        US S 5      -   5      n[        R                  " XV5        USS  nUSS nUR                  XAS9nUSS  n[        R                  " XV5        g )	Nr7   r   re   r   r  r   rx   #   )r   r   r"   r#   r$   r   rA   )r%   r    rO   rC   rG   r/  r0   s          r)   test_union_not_cacheable2TestBusinessDatetimeIndex.test_union_not_cacheableD  s    Rfh?23x3BxJJtJ/	<!!)1$T#bc(^d3s8n%DEH!!)623x2bzJJtJ/	rs8
i2r,   c                    [        SS[        5       SS9nUSS  nUS S nUR                  U5      nUSS n[        R                  " XE5        [        U[        5      (       d   eUR                  UR                  :X  d   eUR                  U5      n[        R                  " XE5        US S R                  USS  5      n[        / 5      R                  S5      n[        R                  " XE5        g )Nr7   r   r9   )r   r:   r;   r   r  )	r   r   r   r#   r$   r.  r   r:   rB   )r%   rO   rC   rG   the_intr0   s         r)   r   +TestBusinessDatetimeIndex.test_intersectionU  s    RfhTJ23x3Bx##D)r":
g0'=1111||sxx'''##D)
g0 cr(''BC1 $,,T2
g0r,   c                     [        SS5      n[        SS5      nUR                  U5      n[        R                  " X25        UR                  UR                  :X  d   eg )N
11/30/2011
12/31/2011
12/10/2011
12/20/2011r   r   r#   r$   r:   r%   r   r   r2   s       r)   test_intersection_bug/TestBusinessDatetimeIndex.test_intersection_bugg  sL    l3l3"
f({{aff$$$r,   c                     [        S5      [        S5      /n[        USS9nUR                  U5      n[        R                  " X25        g )Nr   z
2020-02-01r   r  )r
   r   r   r#   r$   )r%   r/   r]   ress       r)   test_intersection_list0TestBusinessDatetimeIndex.test_intersection_listo  sB     L)9\+BCF-v&
c'r,   c                 $   [         R                  " S5      nUR                  S5      n[        SSS5      n[        SSS5      n[        SSS5      n[        SSS5      n[	        XEU[        5       S9n[	        XgU[        5       S9n	UR                  XS9  g )	Npytzr     r   r?   r   r   endr5   r:   r   )r%  importorskipr   r   r   r   r"   )
r%   r    rF  r5   early_start	early_end
late_startlate_endearly_drlate_drs
             r)   test_month_range_union_tz_pytz8TestBusinessDatetimeIndex.test_month_range_union_tz_pytzw  s    ""6*]]<(tQ*T1a(	dAq)
D!Q'K2HJW:Tw*r,   c                     SSK Jn  U" S5      n[        SSS5      n[        SSS5      n[        SSS5      n[        SSS5      n[        XEU[	        5       S9n[        XgU[	        5       S9n	UR                  XS	9  g )
Nr   )dateutil_gettzr   rG  r   r?   r   rH  r   )pandas._libs.tslibs.timezonesrT  r   r   r   r"   )
r%   r    rT  r5   rK  rL  rM  rN  rO  rP  s
             r)   "test_month_range_union_tz_dateutil<TestBusinessDatetimeIndex.test_month_range_union_tz_dateutil  su    @L)tQ*T1a(	dAq)
D!Q'K2HJW:Tw*r,   r    FNc                     [        [        S5      [        S5      [        S5      /5      nUR                  X!S9n[        [        S5      [        S5      /5      n[        R                  " X45        g )Nz
2019-12-13z
2019-12-12r   )r   r
   r   r#   r$   )r%   r    r   r2   r0   s        r)   test_intersection_duplicates6TestBusinessDatetimeIndex.test_intersection_duplicates  sg     ,',','
 ""4"3)L19\3JKL
f/r,   r   )r!  r"  r#  r$  rT   r3  r   r?  rC  rQ  tdskip_if_windowsrV  r%  r&  r'  rY  r(  r   r,   r)   r*  r*    sd    "4H3"1$%(+ + +  [[VeT]30 40r,   r*  c                       \ rS rSrS rS r\R                  R                  SSSS\	" \
" SS	95      /5      S
 5       rSrg)TestCustomDatetimeIndexi  c                    [        [        [        SS9nUS S nUSS nUR                  XAS9n[	        U[
        5      (       d   eUS S nUSS  nUR                  XA5      n[	        U[        5      (       d   eUS S nUSS nUR                  XAS9n[	        U[
        5      (       d   eUc$  [        R                  " UR                  X1S9U5        [        [        [        [        5       S9nUR                  X!S9n[	        U[
        5      (       d   eg )NCr[   r   r   r   )r   r,  r-  r"   r.  r   r   r#   r$   r   r   )r%   r    rO   rq   rr   r/  s         r)   rT   "TestCustomDatetimeIndex.test_union  s   %3/3BxAb	JJuJ0	)]3333 2AwBCJJu+	)U++++ 2AwAb	JJuJ0	)]3333 <!!%++d+">	J )+6IIcI-	)]3333r,   c                     [        SSSS9n[        SSSS9nUR                  U5      n[        R                  " X25        UR                  UR                  :X  d   eg )Nr9  r:  r`  r[   r;  r<  r=  r>  s       r)   r?  -TestCustomDatetimeIndex.test_intersection_bug  sP    l=l="
f({{aff$$$r,   r5   Nr   zEurope/Berlinr  r   c                 0   [        SSSUS9n[        SSSUS9nUR                  U5      n[        SSSUS9n[        R                  " XE5        [        SSSS	S9n[        S
SSS	S9nUR	                  U5      n[        SSSS	S9n[        R                  " XE5        g )Nz
2020-03-27r   r8   r  z
2020-03-30r   z
2021-10-28r?   zEurope/Londonz
2021-10-30rc   r  )r   r   r#   r$   r"   )r%   r5   r   r   r2   r0   index1index2s           r)    test_intersection_dst_transition8TestCustomDatetimeIndex.test_intersection_dst_transition  s    
 ,C,C""4(lACBG
f/ L!#/RL!#/Rf%lACOT
f/r,   r   )r!  r"  r#  r$  rT   r?  r%  r&  r'  r   r   rg  r(  r   r,   r)   r^  r^    sH    4B% [[tUOXib6I-JK00r,   r^  c                      [        SS/SSSS9n [        S/SSSS9nU R                  U5      n[        / SQSSSS9n[        R                  " X#5        g )	N
2024-05-11
2024-05-12zdatetime64[us]Dater8   )r   r   r:   
2024-05-13)rj  rk  rm  )r   r"   r#   r$   l1l2r2   r0   s       r)   test_union_non_nano_rangelikerq    se    		|$,<6PS
B 
~-=FQT	UBXXb\F2	H &+r,   c                      [        SSSS9n [        SSSS9nU R                  U5      n[        SS/SSS	9n[        R                  " X#5        g )
Nz
2024-01-01z
2024-01-03s)r;   z
2024-01-02z
2024-01-04zdatetime64[s]r8   r   )r   r   r   r#   r$   rn  s       r)   $test_intersection_non_nano_rangelikert    sT    	L,S	9B	L,S	9B__R F	|$H
 &+r,   c                      [        SSSSS9n [        SSSSS9nU R                  U5      n[        SSSSS9n[        R                  " X#5        g )Nz
2025-10-25z
2025-10-26r8   zEurope/Helsinkir   z
2025-10-28r!   )re  rf  r2   r0   s       r)   test_union_across_dst_boundaryrv     sS     lARSFlARSF\\&!F,3CTUH&+r,   )"r   r   r   numpyr   r%  pandas.util._test_decoratorsutil_test_decoratorsr[  rz   r  r   r   r   r	   r
   r   r   pandas._testing_testingr#   pandas.tseries.offsetsr   r   r   r,  r-  r   r*  r^  rq  rt  rv  r   r,   r)   <module>r~     s       ) )      dAq!8D!Q#7
s{0 {0|D0 D0N:0 :0z, 
,,r,   