Ë
    ž…j–m  ã                   óþ   — d dl m Z mZmZ d dlZd dlZd dlmc mZ	 d dl
Zd dl
mZmZmZmZmZmZmZ d dlmZ d dlmZmZmZ  e ddd«       e ddd«      cZZ G d„ d	«      Z G d
„ d«      Z G d„ d«      Zd„ Zd„ Z d„ Z!y)é    )ÚdatetimeÚ	timedeltaÚtimezoneN)Ú	DataFrameÚDatetimeIndexÚIndexÚSeriesÚ	TimestampÚbdate_rangeÚ
date_range)Ú	BMonthEndÚMinuteÚMonthEndiÙ  é   iÚ  c                   ó˜  — e Zd Zg d¢Zd„ Zej                  j                  dej                  e
eg«      d„ «       Zej                  j                  de«      d„ «       Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  dg d¢«      d„ «       Zej                  j                  dddg«      d„ «       Zd„ Zej                  j                  de«      d„ «       Zd„ Z d„ Z!ej                  j                  dg d¢«      d „ «       Z"d!„ Z#d"„ Z$ej                  j                  d#g d$¢«      d%„ «       Z%d&„ Z&y')(ÚTestDatetimeIndexSetOps)NÚUTCú
Asia/Tokyoú
US/Easternzdateutil/Asia/Singaporeúdateutil/US/Pacificc                 ó„   — t        dd¬«      }|d d }|dd  }|j                  ||¬«      }t        j                  ||«       y ©Nú
2020-01-01é
   ©Úperiodsé   ©Úsort©r   ÚunionÚtmÚassert_index_equal)Úselfr   Ú
everythingÚfirstÚsecondr!   s         úk/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/indexes/datetimes/test_setops.pyÚtest_union2z#TestDatetimeIndexSetOps.test_union2,   sF   € Ü °bÔ9ˆ
Ø˜2˜A�ˆØ˜A˜B�ˆØ—‘˜F¨�Ó.ˆÜ
×Ñ˜e ZÕ0ó    Úboxc                 óÎ   — t        dd¬«      }|d d }|dd  }|j                  ||¬«      } ||j                  «      }|j                  ||¬«      }t        j                  ||«       y r   )r   r!   Úvaluesr"   r#   )	r$   r   r+   r%   r&   r'   ÚexpectedÚcaseÚresults	            r(   Útest_union3z#TestDatetimeIndexSetOps.test_union33   sh   € ä °bÔ9ˆ
Ø˜2˜A�ˆØ˜A˜B�ˆð —;‘;˜v¨D�;Ó1ˆÙ�6—=‘=Ó!ˆØ—‘˜T¨�Ó-ˆÜ
×Ñ˜f hÕ/r*   Útzc                 óÒ  — t        ddd|d¬«      }t        ddd|d¬«      }t        ddd|d¬«      }t        t        |«      t        |«      z   «      }t        ddd|d¬«      }t        ddd|d¬«      }t        ddd	|d¬«      }	t        t        |«      t        |d d
 «      z   «      }
t        ddd|d¬«      }t        g |¬«      j                  d«      }t        ddd|d¬«      }|}||||f|||	|
f||||ffD ]r  \  }}}}|j	                  ||¬«      }t        j                  ||«       |j	                  ||¬«      }|€t        j                  ||«       Œ]t        j                  ||«       Œt y )Nú1/1/2000ÚDr   Úns)Úfreqr   r2   Úunitú1/6/2000r   ú1/4/2000é   é   ©r2   r   )r   r   ÚlistÚas_unitr!   r"   r#   )r$   r2   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_unionz"TestDatetimeIndexSetOps.test_union?   s…  € ä˜*¨3¸¸bÀtÔLˆÜ˜J¨S¸!ÀÈÔNˆÜ˜z°¸RÀBÈTÔRˆ	Ü+¬D°«L¼4À»:Ñ,EÓFÐä˜*¨3¸¸bÀtÔLˆÜ˜J¨S¸!ÀÈÔNˆÜ˜z°¸QÀ2ÈDÔQˆ	Ü+¬D°«L¼4ÀÀRÀaÀ»>Ñ,IÓJÐä˜*¨3¸¸bÀtÔLˆÜ˜r bÔ)×1Ñ1°$Ó7ˆÜ˜z°¸QÀ2ÈDÔQˆ	Ø"Ðð �6˜9Ð&9Ð:Ø�6˜9Ð&9Ð:Ø�6˜9Ð&9Ð:ð/
ò 	CÑ*ˆC�˜˜]ð
 Ÿ9™9 U°˜9Ó6ˆLÜ×!Ñ! ,°Ô4à Ÿ;™; s°˜;Ó6ˆLØˆ|Ü×%Ñ% l°CÕ8ä×%Ñ% l°MÕBñ	Cr*   c                 ó4  — t        g d¢«      }t        |j                  «       d¬«      }|j                  ||¬«      }t        j                  ||«       |d d j                  ||¬«      }t        j                  ||«       |j
                  |j
                  k(  sJ ‚y )N)ú
2000-01-03ú
2000-01-01ú
2000-01-02Úinfer©r7   r   r   )r   Úsort_valuesr!   r"   r#   r7   )r$   r   ÚidxÚorderedr0   s        r(   Útest_union_coveragez+TestDatetimeIndexSetOps.test_union_coverage^   sƒ   € ÜÒFÓGˆÜ §¡Ó 1¸Ô@ˆØ—‘˜s¨�Ó.ˆÜ
×Ñ˜f gÔ.à˜˜!�×"Ñ" 7°Ð"Ó6ˆÜ
×Ñ˜f gÔ.Ø�{‰{˜gŸl™lÒ*Ð*Ñ*r*   c                 ó  — t        ddd¬«      }t        ddd¬«      }|j                  ||¬«      }t        |«      t        |dd  «      z   }|€t        t	        |«      «      }nt        |«      }t        j                  ||«       y )Nú1/1/2012é   Ú3h©r   r7   Ú4hr   r   )r   r!   r>   r   Úsortedr"   r#   )r$   r   Úrng_aÚrng_br0   rN   s         r(   Útest_union_bug_1730z+TestDatetimeIndexSetOps.test_union_bug_1730h   su   € Ü˜:¨q°tÔ<ˆÜ˜:¨q°tÔ<ˆà—‘˜U¨�Ó.ˆÜ�5‹kœD  q r ›OÑ+ˆØˆ<Ü¤ s£Ó,‰Cä Ó$ˆCÜ
×Ñ˜f cÕ*r*   c                 óÆ   — t        dg«      }t        g d¢«      }|j                  ||¬«      }t        g d¢«      }|€|j                  «       }t        j                  ||«       y )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   )rg   rh   ri   rj   )r   r!   rX   r"   r#   )r$   r   ÚleftÚrightr0   rN   s         r(   Útest_union_bug_1745z+TestDatetimeIndexSetOps.test_union_bug_1745t   se   € ÜÐ:Ð;Ó<ˆÜòó
ˆð —‘˜E¨�Ó-ˆÜòó
ˆð ˆ<Ø—/‘/Ó#ˆCÜ
×Ñ˜f cÕ*r*   c                 ó  — ddl m} t        dd«      }| |d¬«      z   }|j                  ||¬«      }t	        |«      t	        |«      z   }|€t        t        |«      «      }nt        |«      }t        j                  ||«       y )Nr   ©Ú
DateOffsetz
2013-01-01z
2013-02-01é   )Úminutesr   )	Úpandasrp   r   r!   r>   r   rb   r"   r#   )r$   r   rp   rk   rl   r0   rN   s          r(   Útest_union_bug_4564z+TestDatetimeIndexSetOps.test_union_bug_4564‹   sq   € Ý%ä˜,¨Ó5ˆØ‘z¨"Ô-Ñ-ˆà—‘˜E¨�Ó-ˆÜ�4‹jœ4 ›;Ñ&ˆØˆ<Ü¤ s£Ó,‰Cä Ó$ˆCÜ
×Ñ˜f cÕ*r*   c                 ó®   — t        dd¬«      }d |j                  _        |j                  ||¬«      }t	        j
                  ||«       |j                  �J ‚y )NÚ20150101r   r   r   )r   Ú_datar7   r!   r"   r#   )r$   r   r.   r0   s       r(   Útest_union_freq_both_nonez1TestDatetimeIndexSetOps.test_union_freq_both_none™   sL   € ä˜z°2Ô6ˆØ"ˆ�‰Ôà—‘ ¨t�Ó4ˆÜ
×Ñ˜f hÔ/Ø�{‰{Ð"Ð"Ñ"r*   c                 óâ   — t        dd¬«      }|g d¢   }|g d¢   }|j                  �J ‚|j                  �J ‚|j                  |«      }t        j                  ||«       |j                  dk(  sJ ‚y )Nz
2016-01-01r   r   )r   r   r<   r^   )é   r<   r   r5   )r   r7   r!   r"   r#   )r$   Údtirk   rl   r0   s        r(   Útest_union_freq_inferz-TestDatetimeIndexSetOps.test_union_freq_infer¢   ss   € ô ˜¨qÔ1ˆØ’<Ñ ˆØ’I‘ˆà�y‰yÐ Ð Ð Ø�z‰zÐ!Ð!Ð!à—‘˜EÓ"ˆÜ
×Ñ˜f cÔ*Ø�{‰{˜cÒ!Ð!Ñ!r*   c                 ó¸  — t        ddd¬«      }t        t        j                  j	                  d«      j                  t        |«      «      |«      }t        ddd¬«      }t        t        j                  j	                  d«      j                  t        |«      «      |«      }t        ||dœ«      }t        ddd¬«      }t        j                  |j                  |«       y )	Nz1/1/1999r]   ÚMSrW   rz   z1/1/1980z	12/1/2001)Ús1Ús2)r   r	   ÚnpÚrandomÚdefault_rngÚstandard_normalÚlenr   r"   r#   Úindex)r$   r@   r   rD   r€   ÚdfrN   s          r(   Útest_union_dataframe_indexz2TestDatetimeIndexSetOps.test_union_dataframe_index±   s£   € Ü˜* j°tÔ<ˆÜ”B—I‘I×)Ñ)¨!Ó,×<Ñ<¼SÀ»YÓGÈÓNˆä˜* k¸Ô=ˆÜ”B—I‘I×)Ñ)¨!Ó,×<Ñ<¼SÀ»YÓGÈÓNˆÜ˜b¨Ñ+Ó,ˆä˜ Z°dÔ;ˆÜ
×Ñ˜bŸh™h¨Õ,r*   c                 óÌ   — t        t        j                  dddt        j                  ¬«      «      }t	        ddd¬«      }|j                  ||¬	«       |j                  ||¬	«       y )
Nr   é   rz   ©Údtypez2012-01-03 00:00:00r   r5   )Ústartr   r7   r   )r   r�   ÚarangeÚint64r   r!   )r$   r   Úi1Úi2s       r(   Útest_union_with_DatetimeIndexz5TestDatetimeIndexSetOps.test_union_with_DatetimeIndex¼   sN   € Ü”2—9‘9˜Q  A¬R¯X©XÔ6Ó7ˆÜÐ3¸RÀcÔJˆà
�‰�˜$ˆÔà
�‰�˜$ˆÕr*   c                 ó   — t        ddd¬«      j                  d«      }t        ddd¬«      j                  d«      }|j                  |«      }t        ddd¬«      j                  d«      }t        j                  ||«       y )NrT   r<   r   ©r   r2   ÚmsÚus)r   r?   r!   r"   r#   )r$   Úidx1Úidx2r0   r.   s        r(   Ú(test_union_same_timezone_different_unitsz@TestDatetimeIndexSetOps.test_union_same_timezone_different_unitsÄ   sk   € ä˜,°°eÔ<×DÑDÀTÓJˆÜ˜,°°eÔ<×DÑDÀTÓJˆØ—‘˜DÓ!ˆÜ˜l°A¸%Ô@×HÑHÈÓNˆÜ
×Ñ˜f hÕ/r*   c                 óp  — d}t        dd|¬«      j                  d«      }t        dd|¬«      j                  d«      }|j                  |j                  k(  sJ ‚|j                  |j                  k7  sJ ‚|j	                  |«      }t        dd|¬«      j                  d«      }t        j                  ||«       y ©Nú	UTC+05:00rT   r<   r”   r–   r6   )r   r?   r2   rŒ   r!   r"   r#   )r$   r2   r—   r˜   r0   r.   s         r(   Ú0test_union_same_nonzero_timezone_different_unitszHTestDatetimeIndexSetOps.test_union_same_nonzero_timezone_different_unitsÌ   s¢   € ð ˆÜ˜,°°bÔ9×AÑAÀ$ÓGˆÜ˜,°°bÔ9×AÑAÀ$ÓGˆð �w‰w˜$Ÿ'™'Ò!Ð!Ð!Ø�z‰z˜TŸZ™ZÒ'Ð'Ð'ð —‘˜DÓ!ˆÜ˜l°A¸"Ô=×EÑEÀdÓKˆÜ
×Ñ˜f hÕ/r*   c                 ó  — d}t        dd|¬«      j                  d«      }t        dd|¬«      j                  d«      }|j                  |«      }t        g d¢|¬«      j                  d«      }t	        j
                  ||«       y )	Nrœ   rT   r<   r”   r–   rS   )rT   rU   rS   ú
2000-01-04z
2000-01-05r=   )r   r?   r!   r   r"   r#   )r$   r2   r—   Úidx3r0   r.   s         r(   Ú8test_union_different_dates_same_timezone_different_unitszPTestDatetimeIndexSetOps.test_union_different_dates_same_timezone_different_unitsÜ   s{   € ð ˆÜ˜,°°bÔ9×AÑAÀ$ÓGˆÜ˜,°°bÔ9×AÑAÀ$ÓGˆð —‘˜DÓ!ˆÜ ÚRØô
÷ ‰'�$‹-ð 	ô 	×Ñ˜f hÕ/r*   c                 ó¾  — d}t        dd|¬«      j                  d«      }t        dd|¬«      j                  d«      }|j                  |j                  k(  sJ ‚|j                  |j                  k7  sJ ‚|j	                  |«      }t        dd|¬«      }t        j                  ||«       |j	                  |«      }t        j                  ||j                  d«      «       y r›   )r   r?   r2   rŒ   Úintersectionr"   r#   )r$   r2   r—   r˜   r0   r.   Úresult2s          r(   Ú/test_intersection_same_timezone_different_unitszGTestDatetimeIndexSetOps.test_intersection_same_timezone_different_unitsë   sÆ   € ð ˆÜ˜,°°bÔ9×AÑAÀ$ÓGˆÜ˜,°°bÔ9×AÑAÀ$ÓGˆð �w‰w˜$Ÿ'™'Ò!Ð!Ð!Ø�z‰z˜TŸZ™ZÒ'Ð'Ð'ð ×"Ñ" 4Ó(ˆÜ˜l°A¸"Ô=ˆÜ
×Ñ˜f hÔ/ð ×#Ñ# DÓ)ˆÜ
×Ñ˜g x×'7Ñ'7¸Ó'=Õ>r*   c                 ór  — d}t        dd|¬«      j                  d«      }t        dd|¬«      j                  d«      }|j                  |j                  k(  sJ ‚|j                  |j                  k7  sJ ‚|j	                  |«      }t        ddg|¬	«      j                  d«      }t        j                  ||«       y )
Nrœ   rT   r<   r”   r–   rU   r6   rŸ   r=   )r   r?   r2   rŒ   Úsymmetric_differencer   r"   r#   )r$   r2   r—   Úidx4r0   r.   s         r(   Ú7test_symmetric_difference_same_timezone_different_unitszOTestDatetimeIndexSetOps.test_symmetric_difference_same_timezone_different_unitsÿ   s§   € ð ˆÜ˜,°°bÔ9×AÑAÀ$ÓGˆÜ˜,°°bÔ9×AÑAÀ$ÓGˆð �w‰w˜$Ÿ'™'Ò!Ð!Ð!Ø�z‰z˜TŸZ™ZÒ'Ð'Ð'ð ×*Ñ*¨4Ó0ˆÜ  ,°Ð!=À"ÔE×MÑMÈdÓSˆÜ
×Ñ˜f hÕ/r*   c                 óÖ  — t        dd¬«      }|dd  }|j                  |«      }t        j                  ||«       t        j
                  t        t        fD �cg c]  } ||j                  «      ‘Œ }}|D ])  }|j                  |«      }t        j                  ||«       Œ+ t        g d¢«      }|j                  |«      }t        g t        ¬«      }	t        j                  ||	«       y c c}w )Nr   r   r   r   )ÚaÚbÚcr‹   )r   r£   r"   r#   r�   Úarrayr	   r>   r-   r   Úobject)
r$   r&   r'   Ú	intersectÚklassÚcasesr/   r0   Úthirdr.   s
             r(   Útest_intersection2z*TestDatetimeIndexSetOps.test_intersection2  sÏ   € Ü˜<°Ô4ˆØ�q�r�ˆØ×&Ñ& vÓ.ˆ	Ü
×Ñ˜i¨Ô0ô 57·H±H¼fÄdÐ3KÖL¨%‘�v—}‘}Õ%ÐLˆÐLØò 	2ˆDØ×'Ñ'¨Ó-ˆFÜ×!Ñ! &¨&Õ1ð	2ô ’oÓ&ˆØ×#Ñ# EÓ*ˆÜ˜¤6Ô*ˆÜ
×Ñ˜f hÕ/ùò Ms   ÁC&)Nr   r   r   c                 ó  — t        ddddd¬«      }t        ddddd¬«      }t        ddddd¬«      }t        dddd	d¬«      }t        dddd d¬«      }t        d
dddd¬«      }t        g ddd¬«      }	||f||f||	ffD ]G  \  }
}|j                  |
«      }t        j                  ||«       |j
                  |j
                  k(  rŒGJ ‚ t        g d¢|d¬«      j                  d«      }t        g d¢|d¬«      j                  d«      }t        ddg|d¬«      j                  d«      }t        g d¢|d	¬«      j                  d«      }t        ddg|d ¬«      j                  d«      }t        d
dd|dd¬«      }t        g |d¬«      j                  d«      }	|	j
                  �J ‚||f||f||	ffD ][  \  }
}|j                  |
|¬«      }|€|j                  «       }t        j                  ||«       |j
                  |j
                  k(  rŒ[J ‚ y )Nú6/1/2000z	6/30/2000r5   rY   r6   )r7   Únamer8   z	5/15/2000z	6/20/2000rM   z7/1/2000z	7/31/2000úM8[ns])r7   r·   rŒ   )z
2011-01-05ú
2011-01-04ú
2011-01-02z
2011-01-03)r2   r·   )r¹   rº   z
2011-02-02z
2011-02-03r¹   rº   )r7   r2   r8   r·   r   )r   r   r£   r"   r#   r7   r?   rX   )r$   r2   r   ÚbaserD   rF   rH   rJ   Úrng4Ú	expected4rL   r.   r0   s                r(   Útest_intersectionz)TestDatetimeIndexSetOps.test_intersection!  s\  € ô
 ˜* k¸À%ÈdÔSˆô ˜+ {¸À5ÈtÔTˆÜ˜z¨;¸SÀuÐSWÔXˆ	ô ˜+ {¸À7ÐQUÔVˆÜ˜z¨;¸SÀtÐRVÔWˆ	ä˜* k¸À%ÈdÔSˆÜ! "¨3°UÀ(ÔKˆ	ð �9ÐØ�9ÐØ�9Ðð
ò 	0‰MˆC�ð
 ×&Ñ& sÓ+ˆFÜ×!Ñ! &¨(Ô3Ø—;‘; (§-¡-Ó/Ð/Ð/ð	0ô ÚDÈÐRWô
ç
‰'�$‹-ð 	ô ÚDÈÐRWô
ç
‰'�$‹-ð 	ô "Ø˜<Ð(¨R°eô
ç
‰'�$‹-ð 	ô ÚDØØô
÷ ‰'�$‹-ð	 	ô
 "Ø˜<Ð(¨R°dô
ç
‰'�$‹-ð 	ô
 Ø˜¨#°"¸4Àeô
ˆô " "¨°%Ô8×@Ñ@ÀÓFˆ	Ø�~‰~Ð%Ð%Ð%ð �9ÐØ�9ÐØ�9Ðð
ò 		0‰MˆC�ð
 ×&Ñ& s°Ð&Ó6ˆFØˆ|Ø#×/Ñ/Ó1�Ü×!Ñ! &¨(Ô3Ø—;‘; (§-¡-Ó/Ð/Ð/ñ		0r*   r7   ÚminÚBc                 ób  — |}t        dd||¬«      }|dd j                  |«      }t        |«      dk(  sJ ‚|j                  |j                  k(  sJ ‚|j                  |dd «      }t        |«      dk(  sJ ‚|j                  |j                  k(  sJ ‚|dk7  }|d d j                  |dd  «      }t	        j
                  ||d d «       |r|j                  |j                  k(  sJ ‚|dd  j                  |d d «      }t	        j
                  ||d d «       |r|j                  |j                  k(  sJ ‚y y )Nr¶   z	6/15/2000©r7   r2   r   r¿   r<   éýÿÿÿ)r   r£   r…   r7   r"   r#   )r$   Útz_aware_fixturer7   r2   rL   r0   Ú
check_freqs          r(   Útest_intersection_emptyz/TestDatetimeIndexSetOps.test_intersection_emptye  s=  € ð ˆÜ˜ [°tÀÔCˆØ�Q�q�×&Ñ& sÓ+ˆÜ�6‹{˜aÒÐÐØ�{‰{˜cŸh™hÒ&Ð&Ð&à×!Ñ! # a¨ (Ó+ˆÜ�6‹{˜aÒÐÐØ�{‰{˜cŸh™hÒ&Ð&Ð&ð ˜U‘]ˆ
Ø�R�a�×%Ñ% c¨"¨# hÓ/ˆÜ
×Ñ˜f c¨"¨1 gÔ.Ùà—;‘; #§(¡(Ò*Ð*Ð*ð �R�S�×&Ñ& s¨2¨A wÓ/ˆÜ
×Ñ˜f c¨"¨1 gÔ.Ùà—;‘; #§(¡(Ò*Ð*Ñ*ð r*   c                 ó†   — ddl m} t        ddd¬«      }| |d¬«      z   }|j                  |«      }t	        |«      dk(  sJ ‚y )	Nr   ro   r]   r^   Ú12hr`   r   ©Úhours)rs   rp   r   r£   r…   )r$   rp   Úindex_1Úindex_2r0   s        r(   Útest_intersection_bug_1708z2TestDatetimeIndexSetOps.test_intersection_bug_1708�  sD   € Ý%ä˜Z°¸Ô?ˆØ™J¨QÔ/Ñ/ˆà×%Ñ% gÓ.ˆÜ�6‹{˜aÒÐÑr*   c                 ó¼  — g d¢}t        ||¬«      }t        ddd|¬«      }t        ||¬«      }t        ||¬«      }t        ddd|¬«      }t        |d d |¬«      }	t        ||¬«      }
t        g |¬«      }t        ||¬«      }|||f|||	f|
||ffD ]K  \  }}}|j                  ||«      }|€t        |«      r|j	                  «       }t        j                  ||«       ŒM y )	N)z1/2/2000z1/3/2000r4   r:   z1/5/2000r=   r9   r5   r   )r7   r   r2   r:   r<   )r   r   Ú
differencer…   rX   r"   r#   )r$   r2   r   Ú	rng_datesr@   rA   rB   rD   rE   rF   rH   rI   rJ   rL   rM   r.   Úresult_diffs                    r(   Útest_differencez'TestDatetimeIndexSetOps.test_differenceŠ  sô   € âPˆ	ä˜Y¨2Ô.ˆÜ˜J¨S¸!ÀÔCˆÜ! )°Ô3ˆ	ä˜Y¨2Ô.ˆÜ˜J¨S¸!ÀÔCˆÜ! )¨B¨Q -°BÔ7ˆ	ä˜Y¨2Ô.ˆÜ˜r bÔ)ˆÜ! )°Ô3ˆ	ð �6˜9Ð%Ø�6˜9Ð%Ø�6˜9Ð%ð%
ò 		9Ñ ˆC�˜ð
 Ÿ.™.¨°Ó5ˆKØˆ|¤ E¤
à#×/Ñ/Ó1�Ü×!Ñ! +¨xÕ8ñ		9r*   c                 óš  — t        dddd¬«      }t        dddd¬«      }t        ddgdd ¬	«      }|j                  ||«      }t        j                  ||«       t        j
                  d
||«       t        dddd¬«      }|j                  ||«      }t        ddgdd¬	«      }t        j                  ||«       t        j
                  d
||«       y )NÚ20160920Ú20160925r5   r6   )r7   r8   Ú20160921Ú20160924r¸   ©rŒ   r7   r7   Ú20160922)r   r   rÏ   r"   r#   Úassert_attr_equal)r$   r   r†   rM   r.   Úidx_diffs         r(   Útest_difference_freqz,TestDatetimeIndexSetOps.test_difference_freq¥  sÆ   € ô ˜: z¸À$ÔGˆÜ˜: z¸À$ÔGˆÜ  *¨jÐ!9ÀÐPTÔUˆØ×#Ñ# E¨4Ó0ˆÜ
×Ñ˜h¨Ô1Ü
×Ñ˜V X¨xÔ8ô ˜: z¸À$ÔGˆØ×#Ñ# E¨4Ó0ˆÜ  *¨jÐ!9ÀÐPSÔTˆÜ
×Ñ˜h¨Ô1Ü
×Ñ˜V X¨xÕ8r*   c                 ó¨   — t        dt        ddd«      d¬«      }t        dt        ddd«      d¬«      }t        |j                  ||«      «      dk(  sJ ‚y )	NzQE-JANiÍ  é   é   éd   )r7   r�   r   éb   rz   )r   r   r…   rÏ   )r$   r   Údti1Údti2s       r(   Útest_datetimeindex_diffz/TestDatetimeIndexSetOps.test_datetimeindex_diff·  sN   € Ü˜x¬x¸¸bÀ"Ó/EÈsÔSˆÜ˜x¬x¸¸bÀ"Ó/EÈrÔRˆÜ�4—?‘? 4¨Ó.Ó/°1Ò4Ð4Ñ4r*   )Nr   r   c                 óÆ  — t        ddd|¬«      }|d d j                  |dd «      }|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|d d j                  |dd «      }|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|d d j                  |dd «      }|j                  |j                  k(  sJ ‚|j                  �J ‚|j                  |j                  k(  sJ ‚|d d j                  |d	d
 «      }|j                  |j                  k(  sJ ‚|j                  dk(  sJ ‚|j                  |j                  k(  sJ ‚t        t        |d	d
 «      d¬«      }|d d j                  |«      }|j                  �J ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|d d j                  |«      }|j                  �J ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚y )Nr4   z1/1/2002rY   )r·   r2   é2   rà   é   é<   é   éK   r5   rM   ©r·   )	r   r!   r·   r7   r2   r£   Úfreqstrr   r>   )r$   r2   rL   r0   Únofreqs        r(   Útest_setops_preserve_freqz1TestDatetimeIndexSetOps.test_setops_preserve_freq¼  s3  € ä˜ Z°eÀÔCˆà�S�b�—‘  B s Ó,ˆØ�{‰{˜cŸh™hÒ&Ð&Ð&Ø�{‰{˜cŸh™hÒ&Ð&Ð&Ø�y‰y˜CŸF™FÒ"Ð"Ð"à�S�b�—‘  B s Ó,ˆØ�{‰{˜cŸh™hÒ&Ð&Ð&Ø�{‰{˜cŸh™hÒ&Ð&Ð&Ø�y‰y˜CŸF™FÒ"Ð"Ð"à�S�b�—‘  B s Ó,ˆØ�{‰{˜cŸh™hÒ&Ð&Ð&Ø�{‰{Ð"Ð"Ð"Ø�y‰y˜CŸF™FÒ"Ð"Ð"à�S�b�×&Ñ& s¨2¨b zÓ2ˆØ�{‰{˜cŸh™hÒ&Ð&Ð&Ø�~‰~ Ò$Ð$Ð$Ø�y‰y˜CŸF™FÒ"Ð"Ð"äœt C¨¨2 JÓ/°gÔ>ˆØ�S�b�—‘ Ó'ˆØ�{‰{Ð"Ð"Ð"Ø�{‰{˜cŸh™hÒ&Ð&Ð&Ø�y‰y˜CŸF™FÒ"Ð"Ð"à�S�b�×&Ñ& vÓ.ˆØ�{‰{Ð"Ð"Ð"Ø�{‰{˜cŸh™hÒ&Ð&Ð&Ø�y‰y˜CŸF™FÒ"Ð"Ñ"r*   c                 ó’   — t        g d¢d¬«      }|d d d…   j                  |dd d…   «      }|d d }t        j                  ||«       y )N)z
2018-12-31z
2019-03-31z
2019-06-30z
2019-09-30z
2019-12-31z
2020-03-31zQE-DECrW   rz   r   r   )r   r£   r"   r#   )r$   r{   r0   r.   s       r(   Ú&test_intersection_non_tick_no_fastpathz>TestDatetimeIndexSetOps.test_intersection_non_tick_no_fastpathß  sU   € äòð ô

ˆð ‘S�q�S‘×&Ñ& s¨1¨4¨a¨4¡yÓ1ˆØ�r˜�7ˆÜ
×Ñ˜f hÕ/r*   c                 óÜ   — t        dddd¬«      }|dd d d d…   }|d	d
 d d d…   }|j                  |j                  k(  sJ ‚|j                  |«      }|j                  |j                  k(  sJ ‚y )Nz1/1/2011rà   ÚhÚutc©r   r7   r2   r   éZ   éÿÿÿÿrŠ   éP   )r   r2   r£   )r$   rL   rk   rl   r0   s        r(   Útest_dti_intersectionz-TestDatetimeIndexSetOps.test_dti_intersectionð  sv   € Ü˜¨S°s¸uÔEˆà�2�bˆz™$˜B˜$ÑˆØ�B�r�
™4˜R˜4Ñ ˆà�w‰w˜#Ÿ&™&Ò Ð Ð Ø×"Ñ" 5Ó)ˆØ�y‰y˜DŸG™GÒ#Ð#Ñ#r*   Úsetop)r!   r£   r§   c                 óÊ  — t        dddd¬«      }t        dddd¬«      } t        ||«      |«      }|j                  d«      }|j                  d«      } t        ||«      |«      }t        j                  ||«       |j
                  |j
                  k(  sJ ‚t        |«      rC|d	   j
                  t        j                  u sJ ‚|d
   j
                  t        j                  u sJ ‚y y )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#   r2   r…   r   ró   )r$   rù   rL   rD   r0   rk   rl   r.   s           r(   Útest_dti_setop_awarez,TestDatetimeIndexSetOps.test_dti_setop_awareû  sÎ   € ô Ð.¸ÀÈÔUˆäÐ/¸ÀÈÔVˆà$”˜˜eÓ$ TÓ*ˆà�~‰~˜eÓ$ˆØ—‘ Ó&ˆØ'”7˜4 Ó'¨Ó.ˆÜ
×Ñ˜f hÔ/Ø�y‰y˜DŸG™GÒ#Ð#Ð#ÜˆvŒ;Ø˜!‘9—<‘<¤8§<¡<Ñ/Ð/Ð/Ø˜"‘:—=‘=¤H§L¡LÑ0Ð0Ñ0ð r*   c           	      ó<  — t        t        d«      t        j                  g«      }t        ddgd¬«      }|j	                  |«      }t        t        d«      t        j                  t        dd¬«      t        dd¬«      gt        ¬«      }t        j                  ||«       y )Nz
2011-01-01z
2012-01-01z
2012-01-02r   r=   r‹   )	r   r
   ÚpdÚNaTr!   r   r¯   r"   r#   )r$   rL   rD   r0   r.   s        r(   Útest_dti_union_mixedz,TestDatetimeIndexSetOps.test_dti_union_mixed  s�   € äœY |Ó4´b·f±fÐ=Ó>ˆÜ˜l¨LÐ9¸lÔKˆØ—‘˜4“ˆÜä˜,Ó'Ü—‘Ü˜,¨<Ô8Ü˜,¨<Ô8ð	ô ô
ˆô 	×Ñ˜f hÕ/r*   N)'Ú__name__Ú
__module__Ú__qualname__r2   r)   ÚpytestÚmarkÚparametrizer�   r®   r	   r>   r1   rQ   r[   re   rm   rt   rx   r|   rˆ   r’   r™   r�   r¡   r¥   r©   r´   r¾   rÆ   rÍ   rÒ   rÜ   rä   rî   rð   rø   rþ   r  © r*   r(   r   r   !   s�  „ ò
€Bò1ð ‡[�[×Ñ˜U R§X¡X¨v°tÐ$<Ó=ñ	0ó >ð	0ð ‡[�[×Ñ˜T 2Ó&ñCó 'ðCò<+ò
+ò+ò.+ò#ò"ò	-ò ò0ò0ò 0ò?ò(0ò"0ð" ‡[�[×ÑØÒGóñ=0óð=0ðB ‡[�[×Ñ˜V e¨S \Ó2ñ+ó 3ð+ò6 ð ‡[�[×Ñ˜T 2Ó&ñ9ó 'ð9ò49ò$5ð
 ‡[�[×Ñ˜TÒ#EÓFñ #ó Gð #òD0ò"$ð ‡[�[×Ñ˜WÒ&WÓXñ1ó Yð1ó$0r*   r   c                   óœ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  d„ «       Zej                  j                  dd	d
g«      d„ «       Zy
)ÚTestBusinessDatetimeIndexc                 ó®  — t        t        t        «      }|d d }|dd }|j                  ||¬«      }t	        |t
        «      sJ ‚|d d }|dd  }|j                  ||¬«      }t	        |t        «      sJ ‚|d d }|dd }|j                  ||¬«      }t	        |t
        «      sJ ‚|€(t        j                  |j                  ||¬«      |«       nGt        t        |«      t        |«      z   «      }t        j                  |j                  ||¬«      |«       t        t        t        t        «       ¬«      }|j                  ||¬«      }t	        |t
        «      sJ ‚y )Nr   r   r   rW   )r   ÚSTARTÚENDr!   Ú
isinstancer   r   r"   r#   r>   r   r   )r$   r   rL   rk   rl   Ú	the_unionr.   s          r(   rQ   z$TestBusinessDatetimeIndex.test_union   sF  € Üœ%¤Ó%ˆà�3�BˆxˆØ�A�b�	ˆà—J‘J˜u¨4�JÓ0ˆ	Ü˜)¤]Ô3Ð3Ð3ð �2�AˆwˆØ�B�C�ˆà—J‘J˜u¨4�JÓ0ˆ	Ü˜)¤UÔ+Ð+Ð+ð �2�AˆwˆØ�A�b�	ˆà—J‘J˜u¨4�JÓ0ˆ	Ü˜)¤]Ô3Ð3Ð3ð ˆ<Ü×!Ñ! %§+¡+¨d¸ +Ó">À	ÕJä$¤T¨%£[´4¸³:Ñ%=Ó>ˆHÜ×!Ñ! %§+¡+¨d¸ +Ó">ÀÔIô œ¤¬)«+Ô6ˆà—I‘I˜c¨�IÓ-ˆ	Ü˜)¤]Ô3Ð3Ñ3r*   c                 ó„  — t        ddt        «       ¬«      }|dd  }|d d }|j                  ||¬«      }|€t        j                  ||«       n<t        t        |dd  «      t        |d d «      z   «      }t        j                  ||«       |dd  }|dd }|j                  ||¬«      }|dd  }t        j                  ||«       y )	Nr4   ræ   r`   r   ré   r   rq   é#   )r   r   r!   r"   r#   r   r>   )r$   r   rL   r@   rD   r  r.   s          r(   Útest_union_not_cacheablez2TestBusinessDatetimeIndex.test_union_not_cacheableD  sÅ   € Ü˜¨R´f³hÔ?ˆØ�2�3ˆxˆØ�3�BˆxˆØ—J‘J˜t¨$�JÓ/ˆ	Øˆ<Ü×!Ñ! )¨SÕ1ä$¤T¨#¨b¨c¨(£^´d¸3¸sÀ¸8³nÑ%DÓEˆHÜ×!Ñ! )¨XÔ6à�2�3ˆxˆØ�2�bˆzˆØ—J‘J˜t¨$�JÓ/ˆ	Ø�r�s�8ˆÜ
×Ñ˜i¨Õ2r*   c                 óÔ  — t        ddt        «       d¬«      }|dd  }|d d }|j                  |«      }|dd }t        j                  ||«       t        |t        «      sJ ‚|j                  |j                  k(  sJ ‚|j                  |«      }t        j                  ||«       |d d j                  |dd  «      }t        g «      j                  d«      }t        j                  ||«       y )Nr4   ræ   r6   )r   r7   r8   r   ré   )	r   r   r£   r"   r#   r  r   r7   r?   )r$   rL   r@   rD   Úthe_intr.   s         r(   r¾   z+TestBusinessDatetimeIndex.test_intersectionU  sÞ   € Ü˜¨R´f³hÀTÔJˆØ�2�3ˆxˆØ�3�BˆxˆØ×#Ñ# DÓ)ˆØ�r˜"�:ˆÜ
×Ñ˜g xÔ0Ü˜'¤=Ô1Ð1Ð1Ø�|‰|˜sŸx™xÒ'Ð'Ð'à×#Ñ# DÓ)ˆÜ
×Ñ˜g xÔ0ð �c�r�(×'Ñ'¨¨B¨C¨Ó1ˆÜ  Ó$×,Ñ,¨TÓ2ˆÜ
×Ñ˜g xÕ0r*   c                 ó¸   — t        dd«      }t        dd«      }|j                  |«      }t        j                  ||«       |j                  |j                  k(  sJ ‚y )Nú
11/30/2011ú
12/31/2011ú
12/10/2011ú
12/20/2011©r   r£   r"   r#   r7   ©r$   r«   r¬   r0   s       r(   Útest_intersection_bugz/TestBusinessDatetimeIndex.test_intersection_bugg  sN   € ä˜ lÓ3ˆÜ˜ lÓ3ˆØ—‘ Ó"ˆÜ
×Ñ˜f aÔ(Ø�{‰{˜aŸf™fÒ$Ð$Ñ$r*   c                 ó˜   — t        d«      t        d«      g}t        |d¬«      }|j                  |«      }t        j                  ||«       y )Nr   z
2020-02-01r«   rë   )r
   r   r£   r"   r#   )r$   r-   rY   Úress       r(   Útest_intersection_listz0TestBusinessDatetimeIndex.test_intersection_listo  sD   € ô ˜LÓ)¬9°\Ó+BÐCˆÜ˜F¨Ô-ˆØ×Ñ˜vÓ&ˆÜ
×Ñ˜c 3Õ'r*   c                 ó:  — t        j                  d«      }|j                  d«      }t        ddd«      }t        ddd«      }t        ddd«      }t        ddd«      }t	        |||t        «       ¬«      }t	        |||t        «       ¬«      }	|j                  |	|¬«       y )	NÚpytzr   éÛ  r   r<   r   ©r�   Úendr2   r7   r   )r  Úimportorskipr   r   r   r   r!   )
r$   r   r"  r2   Úearly_startÚ	early_endÚ
late_startÚlate_endÚearly_drÚlate_drs
             r(   Útest_month_range_union_tz_pytzz8TestBusinessDatetimeIndex.test_month_range_union_tz_pytzw  sŒ   € Ü×"Ñ" 6Ó*ˆØ�]‰]˜<Ó(ˆä˜t Q¨Ó*ˆÜ˜T 1 aÓ(ˆ	ä˜d A qÓ)ˆ
Ü˜D ! QÓ'ˆä K°YÀ2ÌHËJÔWˆÜ :°8ÀÌËÔTˆà�‰�w TˆÕ*r*   c                 ó
  — ddl m}  |d«      }t        ddd«      }t        ddd«      }t        ddd«      }t        ddd«      }t        |||t	        «       ¬«      }t        |||t	        «       ¬«      }	|j                  |	|¬	«       y )
Nr   )Údateutil_gettzr   r#  r   r<   r   r$  r   )Úpandas._libs.tslibs.timezonesr/  r   r   r   r!   )
r$   r   r/  r2   r'  r(  r)  r*  r+  r,  s
             r(   Ú"test_month_range_union_tz_dateutilz<TestBusinessDatetimeIndex.test_month_range_union_tz_dateutil†  s{   € å@á˜LÓ)ˆä˜t Q¨Ó*ˆÜ˜T 1 aÓ(ˆ	ä˜d A qÓ)ˆ
Ü˜D ! QÓ'ˆä K°YÀ2ÌHËJÔWˆÜ :°8ÀÌËÔTˆà�‰�w TˆÕ*r*   r   FNc                 óæ   — t        t        d«      t        d«      t        d«      g«      }|j                  ||¬«      }t        t        d«      t        d«      g«      }t        j                  ||«       y )Nz
2019-12-13z
2019-12-12r   )r   r
   r£   r"   r#   )r$   r   r—   r0   r.   s        r(   Útest_intersection_duplicatesz6TestBusinessDatetimeIndex.test_intersection_duplicates—  sk   € ô ä˜,Ó'Ü˜,Ó'Ü˜,Ó'ðó
ˆð ×"Ñ" 4¨dÐ"Ó3ˆÜœ) LÓ1´9¸\Ó3JÐKÓLˆÜ
×Ñ˜f hÕ/r*   )r  r  r  rQ   r  r¾   r  r   r-  ÚtdÚskip_if_windowsr1  r  r  r  r3  r	  r*   r(   r  r    sd   „ ò"4òH3ò"1ò$%ò(ò+ð ×Ññ+ó ð+ð  ‡[�[×Ñ˜V e¨T ]Ó3ñ0ó 4ñ0r*   r  c                   ó~   — e Zd Zd„ Zd„ Zej                  j                  dddd e e	d¬«      «      g«      d	„ «       Z
y)
ÚTestCustomDatetimeIndexc                 ó   — t        t        t        d¬«      }|d d }|dd }|j                  ||¬«      }t	        |t
        «      sJ ‚|d d }|dd  }|j                  ||«      }t	        |t        «      sJ ‚|d d }|dd }|j                  ||¬«      }t	        |t
        «      sJ ‚|€'t        j                  |j                  ||¬«      |«       t        t        t        t        «       ¬«      }|j                  ||¬«      }t	        |t
        «      sJ ‚y )NÚCrW   r   r   r   )r   r  r  r!   r  r   r   r"   r#   r   r   )r$   r   rL   rk   rl   r  s         r(   rQ   z"TestCustomDatetimeIndex.test_union§  s  € äœ%¤¨3Ô/ˆØ�3�BˆxˆØ�A�b�	ˆà—J‘J˜u¨4�JÓ0ˆ	Ü˜)¤]Ô3Ð3Ð3ð �2�AˆwˆØ�B�C�ˆà—J‘J˜u dÓ+ˆ	Ü˜)¤UÔ+Ð+Ð+ð �2�AˆwˆØ�A�b�	ˆà—J‘J˜u¨4�JÓ0ˆ	Ü˜)¤]Ô3Ð3Ð3ð ˆ<Ü×!Ñ! %§+¡+¨d¸ +Ó">À	ÔJô œ¤¬)«+Ô6ˆà—I‘I˜c¨�IÓ-ˆ	Ü˜)¤]Ô3Ð3Ñ3r*   c                 óÀ   — t        ddd¬«      }t        ddd¬«      }|j                  |«      }t        j                  ||«       |j                  |j                  k(  sJ ‚y )Nr  r  r9  rW   r  r  r  r  s       r(   r  z-TestCustomDatetimeIndex.test_intersection_bugÈ  sR   € ä˜ l¸Ô=ˆÜ˜ l¸Ô=ˆØ—‘ Ó"ˆÜ
×Ñ˜f aÔ(Ø�{‰{˜aŸf™fÒ$Ð$Ñ$r*   r2   Nr   zEurope/Berlinrö   rÉ   c                 óT  — t        ddd|¬«      }t        ddd|¬«      }|j                  |«      }t        ddd|¬«      }t        j                  ||«       t        dddd	¬«      }t        d
ddd	¬«      }|j	                  |«      }t        dddd	¬«      }t        j                  ||«       y )Nz
2020-03-27r   r5   rô   z
2020-03-30rz   z
2021-10-28r<   zEurope/Londonz
2021-10-30r^   rû   )r   r£   r"   r#   r!   )r$   r2   r—   r˜   r0   r.   Úindex1Úindex2s           r(   Ú test_intersection_dst_transitionz8TestCustomDatetimeIndex.test_intersection_dst_transitionÐ  s¤   € ô
 ˜,°¸ÀÔCˆÜ˜,°¸ÀÔCˆØ×"Ñ" 4Ó(ˆÜ˜l°A¸CÀBÔGˆÜ
×Ñ˜f hÔ/ô ˜L°!¸#À/ÔRˆÜ˜L°!¸#À/ÔRˆØ—‘˜fÓ%ˆÜ˜l°A¸CÀOÔTˆÜ
×Ñ˜f hÕ/r*   )r  r  r  rQ   r  r  r  r  r   r   r>  r	  r*   r(   r7  r7  ¦  sH   „ ò4òB%ð ‡[�[×ÑØˆt�U˜O©X±iÀbÔ6IÓ-JÐKóñ0óñ0r*   r7  c                  ó¶   — t        ddgddd¬«      } t        dgddd¬«      }| j                  |«      }t        g d¢ddd¬«      }t        j                  ||«       y )	Nú
2024-05-11ú
2024-05-12zdatetime64[us]ÚDater5   )rŒ   r·   r7   ú
2024-05-13)r@  rA  rC  )r   r!   r"   r#   ©Úl1Úl2r0   r.   s       r(   Útest_union_non_nano_rangelikerG  ã  sg   € ä	Ø	�|Ð$Ð,<À6ÐPSô
€Bô 
˜�~Ð-=ÀFÐQTÔ	U€BØ�X‰X�b‹\€FÜÚ2ØØØô	€Hô ×Ñ˜& (Õ+r*   c                  óª   — t        ddd¬«      } t        ddd¬«      }| j                  |«      }t        ddgdd¬	«      }t        j                  ||«       y )
Nz
2024-01-01z
2024-01-03Ús)r8   z
2024-01-02z
2024-01-04zdatetime64[s]r5   rØ   )r   r£   r   r"   r#   rD  s       r(   Ú$test_intersection_non_nano_rangelikerJ  ó  sV   € ä	�L ,°SÔ	9€BÜ	�L ,°SÔ	9€BØ�_‰_˜RÓ €FÜØ	�|Ð$ØØô€Hô
 ×Ñ˜& (Õ+r*   c                  ó¬   — t        dddd¬«      } t        dddd¬«      }| j                  |«      }t        dddd¬«      }t        j                  ||«       y )Nz
2025-10-25z
2025-10-26r5   zEurope/HelsinkirÂ   z
2025-10-28r    )r<  r=  r0   r.   s       r(   Útest_union_across_dst_boundaryrL     sU   € ô ˜ l¸ÐARÔS€FÜ˜ l¸ÐARÔS€FØ�\‰\˜&Ó!€FÜ˜,¨¸3ÐCTÔU€HÜ×Ñ˜& (Õ+r*   )"r   r   r   Únumpyr�   r  Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsr4  rs   r   r   r   r   r	   r
   r   r   Úpandas._testingÚ_testingr"   Úpandas.tseries.offsetsr   r   r   r  r  r   r  r7  rG  rJ  rL  r	  r*   r(   ú<module>rT     s‘   ð÷ñ ó Û ç )Ð )ã ÷÷ ñ õ ÷ñ ñ �d˜A˜qÓ!¡8¨D°!°QÓ#7€
€€s÷{0ñ {0÷|D0ñ D0÷N:0ñ :0òz,ò 
,ó,r*   