
    A>ik                        S SK JrJ r JrJr  S SKrS SKrS SKJr	  S SK
Jr  S SKJ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  S SKJr  S SK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 S5      r$ " S S5      r% " S S5      r& " S S5      r' " S S5      r( " S S5      r)g)    )datedatetimetime	timedeltaNindex)np_long)Pandas4Warning)DatetimeIndexIndex	Timestampbdate_range
date_rangenotna)	to_offseti       c                       \ rS rSrS r\R                  R                  SSS/5      S 5       r\R                  R                  SSS	/5      S
 5       r	\R                  R                  SSS	/5      S 5       r
S rSrg)TestGetItem    c                     [        SSS9n[        SSS9n[        XSSS9nUSS  R                  UR                  :X  d   eg )	Nz2013-07-01 00:00:00zAmerica/Los_Angelestzz2013-07-02 00:00:00h
timebucketfreqnamer   )r   r   r   )selfstetdrs       k/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/indexes/datetimes/test_indexing.pytest_getitem_slice_keeps_name)TestGetItem.test_getitem_slice_keeps_name!   sH    ,1FG,1FGS|<!"v{{bgg%%%    r   N
Asia/Tokyoc                    [        SSSUSS9nUS   nU[        SUR                  S9:X  d   eUSS n[        SS	SUR                  SS9n[        R                  " X45        UR
                  UR
                  :X  d   eUSS
S2   n[        SSSUR                  SS9n[        R                  " X45        UR
                  UR
                  :X  d   eUSSS2   n[        SSSUR                  SS9n[        R                  " X45        UR
                  UR
                  :X  d   eUSS S2   n[        / SQUR                  SSS9n[        R                  " X45        UR
                  UR
                  :X  d   eg )N
2011-01-01
2011-01-31Didxr   r   r   r   r      
2011-01-05
      z
2011-01-092Di   z
2011-01-12z
2011-01-243D   )r/   
2011-01-04
2011-01-03
2011-01-02r)   z-1Ddtyper   r   )r   r   r   tmassert_index_equalr   r   r<   r   r   r,   resultexpecteds        r#   test_getitemTestGetItem.test_getitem(   sk   |#"5QQ<CFF;;;;Qq,SSVV%
 	f/{{hmm+++Qr!V,Tcff5
 	f/{{hmm+++SAX,Tcff5
 	f/{{hmm+++QUU R))	
 	f/{{hmm+++r&   r   BCc                    [        [        [        US9nUS S n[        UR	                  [
        R                  5      S S US9n[        R                  " X45        UR                  UR                  :X  d   eUR                  UR                  :X  d   eUS S S2   nUR                  [        U5      S-  :X  d   eU/ SQ   n[        U5      S:X  d   e[        U[        5      (       d   eUR                  b   eUS   U[        S5         :X  d   eg )Nr   r.   )r6   r4   r1   r   r   r6   )r   STARTENDr   viewnpndarrayr=   r>   r   r   len
isinstancer	   )r   r   rngsmallerexpslicedfancy_indexeds          r#   test_dti_business_getitem%TestGetItem.test_dti_business_getitemN   s    %40bq'CHHRZZ0!44@
g+||sxx'''||sxx'''SqS{{io1111O,=!Q&&&-7777!!))) 1vWQZ(((r&   c                     [        [        [        US9n[        R                  " [
        SS9   US S 2S 4     S S S 5        g ! , (       d  f       g = f)NrG   zMulti-dimensional indexingmatch)r   rH   rI   pytestraises
ValueError)r   r   rO   s      r#   /test_dti_business_getitem_matplotlib_hackaround;TestGetItem.test_dti_business_getitem_matplotlib_hackaroundb   s7    %40]]:-IJ4L KJJs   
A  
Ac                     [        SSSS9nU/ SQ   nUS   nUS   nUS   nU[        S	5      :X  d   eU[        S
5      :X  d   eU[        S5      :X  d   eUR                  b   eg )Nz1/1/2005z	12/1/2005ME)startendr   )r   r4   r.   r   r   r1   z	2/28/2005z	4/30/2005z	6/30/2005)r   r   r   )r   dtidti2v1v2v3s         r#   test_getitem_int_list!TestGetItem.test_getitem_int_listi   s    z{F9~!W!W!WY{++++Y{++++Y{++++ yy   r&    )__name__
__module____qualname____firstlineno__r$   rY   markparametrizerB   rT   r\   rg   __static_attributes__ri   r&   r#   r   r       s    & [[TD,#78#, 9#,J [[Vc3Z0) 1)& [[Vc3Z0 1!r&   r   c                   z    \ rS rSr\R
                  R                  SSS/5      S 5       rS rS r	S r
S	 rS
 rSrg)	TestWherey   is_tdTFc                    [        SSSS9nU(       a  X"S   -
  n[        [        R                  [        R                  /USS  R	                  5       Q5      nUR                  [        U5      U5      nUR                  b   eg )N20130101r4   
US/Easternperiodsr   r   r1   )r   r   pdNaTtolistwherer   r   )r   rt   r   otherr@   s        r#   test_where_freq_invalidation&TestWhere.test_where_freq_invalidationz   sp     :q\B!H$Ervvrvv;ab	(8(8(:;<U5\51{{"""r&   c                     [        SSSSS9n/ SQn[        US   US   US   /S SS	9nUR                  X!S S S
2   5      n[        R                  " XC5        g )Nrv   r4   r+   r,   )ry   r   r   )TTFr   r   r   r7   )r   r   r}   r=   r>   )r   rb   condrA   r@   s        r#   test_where_doesnt_retain_freq'TestWhere.test_where_doesnt_retain_freq   s\    QSuE" #a&#a&#a&!95Q4TrT+
f/r&   c                    [        SSSS9n[        R                  [        R                  4 H4  nUR                  [        U5      US9nUn[        R                  " X45        M6     UR                  5       n[        [        R                  [        R                  /USS  R                  5       Q5      nUR                  [        U5      U5      n[        R                  " X55        UR                  5       n[        [        R                  [        R                  /USS  R                  5       Q5      nUR                  [        U5      UR                  5      n[        R                  " X55        g )Nrv   r4   rw   rx   )r~   r1   )r   rK   nanrz   r{   r}   r   r=   r>   copyr   r|   _values)r   iarrr@   rA   i2s         r#   test_where_otherTestWhere.test_where_other   s    z1>FFBFF#CWWU1XSW1FH!!&3 $
 VVXBFFBFF4QqrU\\^45rB'
f)VVXBFFBFF4QqrU\\^45rBJJ/
f)r&   c                    [        SSSSS9nUSS  R                  5       n[        [        R                  [        R                  /UQ5      n[        U5      nUR                  XCR                  5      n[        [        R                  R                  [        R                  R                  /UQ[        S9n[        R                  " XV5        UR                  S 5      nUR                  XC5      n[        US   US	   /USS  R                  5       Q[        S9n[        R                  " XV5        UR                  S 5      R                  S
5      nUR                  XH5      n[        US   US	   /UQ[        S9n[        R                  " XV5        UR                  R                  S5      n	UR                  XI5      n[        U	S   U	S	   /UQ[        S9n[!        US   ["        R$                  5      (       d   e[        R                  " XV5        UR                  XCR                  5      n[        [        R                  R&                  [        R                  R&                  /UQ[        S9n[!        US   [(        5      (       d   e[        R                  " XV5        [        R*                  " SS9n
UR                  XJ5      n[        X/UQ[        S9nUS   U
L d   e[        R                  " XV5        g )Nrv   r4   rw   ns)ry   r   unitr1   r<   r   r   r+   ztimedelta64[ns]r6   )days)r   r|   r   rz   r{   r   r}   valuesasm8objectr=   r>   tz_localize	to_periodasi8rJ   rN   rK   timedelta64_valueint	Timedelta)r   rb   tailr   maskr@   rA   naivepitdatds              r#   test_where_invalid_dtypes#TestWhere.test_where_invalid_dtypes   sR   Q<dK12w~~BFFBFF*T*+Ry 4+"&&++rvv{{:T:&I
f/ %T&"Q%A<qr)9)9);<FK
f/^^D!++C04$"Q%A..f=
f/ggll,-4%#a&#a&040?(1+r~~6666
f/4)"&&-->>fM(1+s++++
f/ \\q!4$"47{b   
f/r&   c                 
   Un[        SSUS9n[        R                  " / SQ5      n[        R                  " SS5      n[	        US   XSS   /[
        S	9nUS
   UL d   eUR                  XE5      n[        R                  " Xv5        g )Nz
2013-01-01r4   rx   )TFTr{   r   r   r1   r   r   )	r   rK   arrayr   r   r   r}   r=   r>   )r   tz_aware_fixturer   rb   r   tdnatrA   r@   s           r#   test_where_mismatched_nat#TestWhere.test_where_mismatched_nat   s{    qR8xx+,ud+#a&%Q0?{e###4'
f/r&   c                 z   [        SSSS9nUR                  [        U5      5      nUn[        R                  " X#5        UR                  5       n[        [        R                  [        R                  /USS  R                  5       Q5      nUR                  [        U5      5      nUn[        R                  " X#5        g )Nrv   r4   rw   rx   r1   )
r   r}   r   r=   r>   r   r   rz   r{   r|   )r   r   r@   rA   r   s        r#   test_where_tzTestWhere.test_where_tz   s    z1>q"
f/VVXBFFBFF4QqrU\\^45r#
f/r&   ri   N)rj   rk   rl   rm   rY   rn   ro   r   r   r   r   r   r   rp   ri   r&   r#   rr   rr   y   sC    [[WtUm4# 5#0*&(0T
0
0r&   rr   c                      \ rS rSr\R
                  R                  SSS/5      S 5       rS r\R
                  R                  SSS	/5      S
 5       r	S r
\R
                  R                  S/ SQ5      S 5       rS rS rSrg)TestTake   tzstrrw   zdateutil/US/Easternc                     [        SSUS9nUR                  [        S5      5      nUR                  UR                  :X  d   eUR                  UR                  :X  d   eg )N1/1/2000   rx   r.   )r   takeranger   r   )r   r   rO   r@   s       r#   test_dti_take_dont_lose_meta%TestTake.test_dti_take_dont_lose_meta   sN    RE:%(#yyCFF"""{{chh&&&r&   c                     [        [        R                  [        S5      [        S5      /5      nUR	                  / SQ5      n[        US   US   US   /5      n[
        R                  " X#5        g )Nrv   20130102r7   r   r   r7   r   r   )r   rz   r{   r   r   r=   r>   )r   r   r@   rA   s       r#   test_take_nan_first_datetime%TestTake.test_take_nan_first_datetime   sZ    rvvy'<i
>STUJ' %)U1XuQx!@A
f/r&   r   Nr'   c                    [        SSSSUS9nUR                  S/5      nU[        SUR                  S9:X  d   eUR                  / SQ5      n[        SS	SUR                  SS
9n[        R
                  " X45        UR                  UR                  :X  d   eUR                  / SQ5      n[        SSSUR                  SS
9n[        R
                  " X45        UR                  UR                  :X  d   eUR                  / SQ5      n[        SSSUR                  SS
9n[        R
                  " X45        UR                  UR                  :X  d   eUR                  / SQ5      n[        / SQUR                  S SS9n[        R
                  " X45        UR                  b   eUR                  / SQ5      n[        / SQUR                  S SS9n[        R
                  " X45        UR                  b   eg )Nr)   r*   r+   r,   )r   r   r   r   r   r   r   r1   r9   r-   )r   r1   r6   r/   r2   )   r6   r   z
2011-01-08r:   z-3D)r4   r1   r.   )r8   r9   
2011-01-06r;   )r1   r.   )z
2011-01-29r9   r   )	r   r   r   r   r=   r>   r   r   r<   r?   s        r#   	test_takeTestTake.test_take   s    |#EbQ1#<CFF;;;;)$,SSVV%
 	f/{{hmm+++)$,Tcff5
 	f/{{hmm+++)$,UsvvE
 	f/{{hmm+++)$ 6))	
 	f/{{"""*% 6))	
 	f/{{"""r&   c                    [        SSSSS9n/ SQnSn[        R                  " [        US9   UR	                  US	S
9  S S S 5        Sn[        R                  " [
        US9   UR	                  X"S9  S S S 5        Sn[        R                  " [
        US9   UR	                  USS9  S S S 5        g ! , (       d  f       Nv= f! , (       d  f       NT= f! , (       d  f       g = f)Nr)   r*   r+   r,   r   )r      r.   	   r0         r4   z1take\(\) got an unexpected keyword argument 'foo'rW   r1   )fooz$the 'out' parameter is not supported)outz%the 'mode' parameter is not supportedclip)mode)r   rY   rZ   	TypeErrorr   r[   )r   r,   indicesmsgs       r#   test_take_invalid_kwargs!TestTake.test_take_invalid_kwargs#  s    |#EJ-B]]9C0HHW!H$ 1 5]]:S1HHWH* 2 6]]:S1HHW6H* 21 10 21 21s#   B- B>C-
B;>
C
C)Nrw   r'   c           	         [        SSSS5      [        SSSS5      [        SSSS5      [        SSSS5      /n[        SSS	US
S9n[        US S
UR                  S9nUR	                  / SQ5      nU/ SQ   nXV4 Hw  n[
        R                  " Xt5        [        U[        5      (       d   eUR                  b   eUR                  UR                  :X  d   eUR                  UR                  :X  a  Mw   e   g )Nr   r      r         z2010-01-01 09:00z2010-02-01 09:00r   r,   )r`   ra   r   r   r   )r   r   r<   )r.   r         )r   r   r   r<   r   r=   r>   rN   r   r   r   )r   r   datesr,   rA   taken1taken2takens           r#   
test_take2TestTake.test_take24  s     T1a$T1a$T1a$T1a$	
 $"
 !TSYYO-(]#%E!!%2e]3333::%%%88x{{***::... &r&   c                    [        / SQSS9nUR                  [        R                  " / SQ5      5      n[        / SQSS9n[        R
                  " X#5        UR                  [        R                  " / SQ5      SS9n[        / SQSS9n[        R
                  " X#5        UR                  [        R                  " / SQ5      S	SS
9n[        / SQSS9n[        R
                  " X#5        Sn[        R                  " [        US9   UR                  [        R                  " / SQ5      SS9  S S S 5        [        R                  " [        US9   UR                  [        R                  " / SQ5      SS9  S S S 5        Sn[        R                  " [        US9   UR                  [        R                  " SS/5      5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nk= f! , (       d  f       g = f)Nr)   
2011-02-01
2011-03-01xxx)r   r   r   r7   r   r)   r   T
fill_valuer   r)   r{   F
allow_fillr   JWhen allow_fill=True and fill_value is not None, all indices must be >= -1rW   r   r   r   r   r3   out of boundsr   r3   
r   r   rK   r   r=   r>   rY   rZ   r[   
IndexErrorr   r,   r@   rA   r   s        r#   test_take_fill_valueTestTake.test_take_fill_valueP  si   FUS"((:./ !KRWX
f/ "((:.4@ !D5Q
f/ "((:.5TR !KRWX
f/ Y 	 ]]:S1HHRXXj)dH; 2]]:S1HHRXXj)dH; 2 ]]:S1HHRXXq"g&' 21 2111 21s$   'G
'G(G'
G
G$'
G5c                    [        / SQSSS9nUR                  [        R                  " / SQ5      5      n[        / SQSSS9n[        R
                  " X#5        UR                  [        R                  " / SQ5      SS9n[        / S	QSSS9n[        R
                  " X#5        UR                  [        R                  " / SQ5      S
SS9n[        / SQSSS9n[        R
                  " X#5        Sn[        R                  " [        US9   UR                  [        R                  " / SQ5      SS9  S S S 5        [        R                  " [        US9   UR                  [        R                  " / SQ5      SS9  S S S 5        Sn[        R                  " [        US9   UR                  [        R                  " SS/5      5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nk= f! , (       d  f       g = f)Nr   r   rw   )r   r   r   r   Tr   r   Fr   r   rW   r   r   r   r   r3   r   r   s        r#   "test_take_fill_value_with_timezone+TestTake.test_take_fill_value_with_timezonem  s   6U|
 "((:./ 6U|
 	f/ "((:.4@ /e
 	f/ "((:.5TR 6U|
 	f/ Y 	 ]]:S1HHRXXj)dH; 2]]:S1HHRXXj)dH; 2 ]]:S1HHRXXq"g&' 21 2111 21s$   'G	'G(G+	
G
G(+
G9ri   )rj   rk   rl   rm   rY   rn   ro   r   r   r   r   r   r   r   rp   ri   r&   r#   r   r      s    [[W|5J&KL' M'0 [[TD,#78.# 9.#`+" [[T#EF/ G/6(:"(r&   r   c                      \ rS rSrS rS rS r\R                  R                  SSS/5      S 5       r
S	 rS
 r\R                  R                  S\R                  " S5      \R                  " S5      \" S5      /5      S 5       rS rS rSrg)
TestGetLoci  c                     [        SSS9nUS   R                  S5      nUR                  U5      nUS:X  d   eX!;   d   eg )N
2000-01-01r4   ry   r   ms)r   as_unitget_loc)r   r,   keylocs       r#   test_get_loc_key_unit_mismatch)TestGetLoc.test_get_loc_key_unit_mismatch  sC    q1!fnnT"kk#axxzzr&   c                 L   [        SSS9R                  R                  S5      n[        U5      nUS   R	                  S5      [
        R                  " S5      -   n[        R                  " [        SS	9   UR                  U5        S S S 5        X2;  d   eg ! , (       d  f       N= f)
Nr   r4   r   zM8[s]r   r   r   z,Timestamp\('2000-01-01 00:00:00.000000001'\)rW   )r   _dataastyper   r   rz   r   rY   rZ   KeyErrorr   )r   dtarb   r   s       r#   +test_get_loc_key_unit_mismatch_not_castable6TestGetLoc.test_get_loc_key_unit_mismatch_not_castable  s    q177>>wGC !fnnT"R\\!_4]]K
 KK

 ~~
 
s   3B
B#c                 2   [        SSSS9nUR                  [        S5      5      n[        R                  " S/5      n[
        R                  " X#SS9  UR                  [        SS5      5      n[        R                  " / 5      n[
        R                  " X#SS9  g )	Nr      r   ry   r   r   F)check_dtype   )r   r   r   rK   r   r=   assert_numpy_array_equalr   r,   r@   rA   s       r#   test_get_loc_time_obj TestGetLoc.test_get_loc_time_obj  sr    r<T"X&88RD>
##F%HT"b\*88B<
##F%Hr&   offsetr0   c                 F   SnX2-   n[        SSS5      nUR                  S-  UR                  S-  -   UR                  -   nSnUR	                  5          UR                  [        SU5        [        S	US
S9n[        R                  " [        R                  R                  S5      R                  U5      US9n	[        R                  " XdU[        R                  S9n
U	R                   R#                  U5      n[$        R&                  " X5        [$        R(                  " X   U	R*                  U
   5        U	R-                  5       U	R-                  5       pX==   S-  ss'   UR*                  U
==   S-  ss'   [$        R(                  " X5        S S S 5        g ! , (       d  f       g = f)N2   r      r  i  <   iQ _SIZE_CUTOFFz
2014-11-26sr  r1   r   r   r  )r   hourminutesecondcontextsetattrlibindexr   rz   SeriesrK   randomdefault_rngstandard_normalarangeintpr   r   r=   r  assert_series_equalilocr   )r   monkeypatchr  size_cutoffnr   r`   stepr,   tslocsr@   leftrights                 r#   test_get_loc_time_obj2!TestGetLoc.test_get_loc_time_obj2  s<     2r24#**r/1CJJ>  ".+F\13?C299003CCAFcRB99Ut277;DXX%%c*F''5""27BGGDM:'')RWWY%IIJJt#""4/ #""s   D7F
F c                     [        SSSS9n[        [        R                  /5      nUR	                  U5      n[
        R                  " / [
        R                  S9n[        R                  " X45        g )Nr   +   iH7 )r  r  microsecondr   )
r   r   rz   r{   r   rK   r   r'  r=   r  )r   ticrb   r  rA   s        r#   test_get_loc_time_nat TestGetLoc.test_get_loc_time_nat  sR     "RV<RVVH%kk#88Bbgg.
##C2r&   c                 0   [        SS/5      nUR                  [        R                  5      S:X  d   eUR                  S 5      S:X  d   eUR                  [        R
                  5      S:X  d   eUR                  [        R                  5      S:X  d   eUR                  [        R                  " S5      5      S:X  d   e[        R                  " [        SS9   UR                  [        R                  " S5      5        S S S 5        g ! , (       d  f       g = f)N1/3/2000r{   r   rW   )r   r   rz   r{   rK   r   NA
datetime64rY   rZ   r  r   r   r   s     r#   test_get_loc_natTestGetLoc.test_get_loc_nat  s    z512}}RVV$)))}}T"a'''}}RVV$)))}}RUU#q(((}}R]]512a777]]851MM"../0 211s   &D
Dr   r   r   c                     [        SSS9nSn[        R                  " [        US9   UR	                  U5        S S S 5        g ! , (       d  f       g = f)Nz
1970-01-01r0   r   z,Cannot index DatetimeIndex with [Tt]imedeltarW   )r   rY   rZ   r   r   )r   r   rb   r   s       r#   "test_get_loc_timedelta_invalid_key-TestGetLoc.test_get_loc_timedelta_invalid_key  s;     r2<]]9C0KK 100   A
Ac                     [        S/5      n[        R                  " [        SS9   UR	                  S5        S S S 5        g ! , (       d  f       g = f)Nr;  2000rW   r   )r   rY   rZ   r  r   r>  s     r#   !test_get_loc_reasonable_key_error,TestGetLoc.test_get_loc_reasonable_key_error  s4    zl+]]862MM*% 322rD  c                 d    [        SS5      nUR                  S5      n[        SS5      nX#:X  d   eg )Nr   z1/1/20102009i  iE  )r   r   slicer   rO   r@   rA   s       r#   test_get_loc_year_str TestGetLoc.test_get_loc_year_str  s4    Z0V$t$!!!r&   ri   N)rj   rk   rl   rm   r  r	  r  rY   rn   ro   r2  r8  r?  rz   r   r   rB  rG  rM  rp   ri   r&   r#   r   r     s    

I [[XRy10 20.31  [[UR\\!_bll1oyQR|$TU V&"r&   r   c            	       |    \ rS rSrS r\R                  R                  S/ SQ/ SQ/ SQ/ SQ/ SQ/5      S	 5       rS
r	g)TestContainsi  c                 H    [        SSSSS5      n[        X/5      nX;   d   eg )Ni  r   r.   r   r  )r   r   )r   dixs      r#   !test_dti_contains_with_duplicates.TestContains.test_dti_contains_with_duplicates  s)    T2q"b)A6"wwr&   vals)r   r   r   )r   r   r7   )r   r7   r7   )2015rW  2016)rW  rW  2014c                 0    [        U5      nUS   U;   d   eg )Nr   )r   )r   rV  r,   s      r#   test_contains_nonunique$TestContains.test_contains_nonunique   s     D!1v}}r&   ri   N)
rj   rk   rl   rm   rT  rY   rn   ro   r[  rp   ri   r&   r#   rP  rP    sA    
 [[$$	
		r&   rP  c                      \ rS rSr\R
                  " S5      \R                  R                  SSS/5      S 5       5       r	S r
S r\R                  R                  S	\" S
SS5      \" S5      /\" S5      \" S
SS5      //5      S 5       r\R                  R                  S\" SSS5      \" S5      /SS/4\" S5      \" SSS5      /SS/4\" SSS5      \" SSS5      /SS/4/5      S 5       rS rSrg)TestGetIndexeri  pyarrowas_tdTFc                 V   [        SSS9nUR                  S5      S S S2   nU(       a  X"S   -
  nX3S   -
  nUR                  U5      n[        R                  " / SQ[        R
                  S9n[        R                  " XE5        UR                  U5      n[        R                  " Xe5        g )	Nz
2016-01-01r4   r   ztimestamp[ns][pyarrow]r7   r   )r1   r   r   r   )r   r  get_indexerrK   r   r'  r=   r  )r   r`  r   targetr@   rA   result2s          r#   test_get_indexer_pyarrow'TestGetIndexer.test_get_indexer_pyarrow  s     <367"=!H$ERj(F""6*88IRWW5
##F5 $$U+
##G6r&   c                     [        SSS9nUR                  UR                  S 5      5      nUR                  U5      n[        R                  " X#5        g )Nr   r   r   c                 "    U R                  5       $ )N)r   )xs    r#   <lambda>;TestGetIndexer.test_get_indexer_date_objs.<locals>.<lambda>(  s
    1668r&   )r   rb  mapr=   r  rL  s       r#   test_get_indexer_date_objs)TestGetIndexer.test_get_indexer_date_objs%  sB    R0);!<=??3'
##F5r&   c                    [        SSS9n[        R                  " / SQ[        R                  S9n[        R
                  " UR                  U5      U5        US   [        R                  " / SQ5      -   n[        R
                  " UR                  US5      [        R                  " / S	Q[        R                  S95        [        R
                  " UR                  US
5      [        R                  " / SQ[        R                  S95        [        R
                  " UR                  US5      [        R                  " / SQ[        R                  S95        [        R
                  " UR                  US[        R                  " S5      S9[        R                  " / SQ[        R                  S95        [        R                  " S5      [        R                  " S5      [        R                  " S5      R                  5       /n[        R
                  " UR                  USU Vs/ s H  n[        R                  " U5      PM     snS9[        R                  " / SQ[        R                  S95        [        R                  " S5      R                  5       [        R                  " S5      R                  5       S/nSn[        R                  " [        US9   UR                  USUS9  S S S 5        [        R                  " [        SS9   UR                  US/   SSS9  S S S 5        g s  snf ! , (       d  f       NK= f! , (       d  f       g = f)Nr   r4   r   r   r   r   )z-1 hourz12 hoursz1 day 1 hourpadr   backfillnearest)r   r   r   z1 hour)	tolerance)r   r7   r   z2 hourr   z*Could not convert 'foo' to NumPy timedeltarW   zabbreviation w/o a number)methodrs  )r   rK   r   r'  r=   r  rb  rz   to_timedeltar   to_timedelta64r   rY   rZ   r[   )r   r,   rQ   rc  tol_rawri  tol_badr   s           r#   test_get_indexerTestGetIndexer.test_get_indexer,  sM   q1hhy0
##COOC$8#>Q"//*QRR
##OOFE*BHHZrww,O	
 	##OOFJ/)2771S	
 	##OOFI."''0R	
 	##OOFIh9OOPHHZrww/	

 LL"LL"LL"113

 	##OO	-QAbnnQ.?-Q   HHZrww/		
 LL"113LL"113

 ;]]:S1OOFIOA 2]]:-HIOOCHY%OH JI .R 21IIs    L"L'L8'
L58
Mrc    r   
2020-01-02
2020-01-01r1   c                     [        [        S5      [        S5      /5      nUR                  U5      n[        R                  " SS/[        R
                  S9n[        R                  " X45        g )Nr}  r|  r   r   r   r   r   rb  rK   r   r'  r=   r  )r   rc  r   r@   rA   s        r#   test_get_indexer_mixed_dtypes,TestGetIndexer.test_get_indexer_mixed_dtypesU  sS     	, 7<9PQR##F+88QF"''2
##F5r&   ztarget, positionsi'  r7   r   c                     [        [        S5      [        S5      /5      nUR                  U5      n[        R                  " U[        R
                  S9n[        R                  " XE5        g )Nr}  r|  r   r  )r   rc  	positionsr   r@   rA   s         r#   #test_get_indexer_out_of_bounds_date2TestGetIndexer.test_get_indexer_out_of_bounds_datec  sO     	, 7<9PQR##F+88IRWW5
##F5r&   c                     [        SSSS9nU/ SQ   nSn[        R                  " [        US9   UR	                  USS	9  S S S 5        g ! , (       d  f       g = f)
Nr   z3/1/2000rD   rG   )r   r   r1   z0index must be monotonic increasing or decreasingrW   rp  )rt  )r   rY   rZ   r[   rb  )r   rO   rng2r   s       r#   *test_get_indexer_pad_requires_monotonicity9TestGetIndexer.test_get_indexer_pad_requires_monotonicityr  sM    Zc: 9~@]]:S1S/ 211s   A
Ari   N)rj   rk   rl   rm   r   
skip_if_norY   rn   ro   re  rm  ry  r   r   r  r  r  rp   ri   r&   r#   r^  r^    s.   ]]9[[WtUm47 5 7$6'IR [[$1y67|$d4A&67	
66 [[4A	, 782q'B%tD!Q'781b'B4AT1a 01B8<	
660r&   r^  c                        \ rS rSrS rS rSrg)TestMaybeCastSliceBoundi}  c                     [        SSSSS9nUR                  SS5      n[        S5      nX#:X  d   eUR                  SS	5      n[        S
5      nXC:X  d   eg )N1hr   rW  r   )r   ry   ra   r   z
2015-01-02r1  z2015-01-02 23:59:59.999999999r0  z2015-01-02 00:00:00)r   _maybe_cast_slice_boundr   )r   	empty_idxr1  rQ   r0  s        r#   "test_maybe_cast_slice_bounds_empty:TestMaybeCastSliceBound.test_maybe_cast_slice_bounds_empty~  s`    D!dK	11,H78||00vF-.{{r&   c                 f    [        SS/5      nUR                  SS5      n[        S5      nX#:X  d   eg )N2017z
2017-01-01r0  )r   r  r   r  s       r#   )test_maybe_cast_slice_duplicate_monotonicATestMaybeCastSliceBound.test_maybe_cast_slice_duplicate_monotonic  s9    VV,-,,\6B\*!!!r&   ri   N)rj   rk   rl   rm   r  r  rp   ri   r&   r#   r  r  }  s    
"r&   r  c                      \ rS rSr\R
                  R                  SSS/5      S 5       r\R
                  R                  S\\	\
/5      \R
                  R                  SSS	/5      S
 5       5       r\R
                  R                  S\	\
/5      \R
                  R                  SSS/5      \R
                  R                  SSS/5      S 5       5       5       r\R
                  R                  S\	\
/5      S 5       rSrg)TestGetSliceBoundsi  r`  TFc                    [        SSSS9n[        R                  " S5      n[        S5      nXC-
  nXC-   nU(       aW  U[        S5      R	                  S5      -
  nU[        S5      R	                  S5      -
  nU[        S5      R	                  S5      -
  nUR                  US	S
9nUS:X  d   eUR                  USS
9nUS:X  d   e[        R                  " SUS9n	U	R                  XV n
U	R                  SS n[        R                  " X5        g )Nr   r   r   )r`   r   ry   r   z2000-01-01 01:00:00r   usr0  sider1  r1   r   )r   rz   r   r   r   get_slice_boundr"  r  r)  r=   r(  )r   r`  r   r   r.  r`   stopr0  r1  serr@   rA   s               r#   $test_get_slice_bound_mismatched_unit7TestGetSliceBounds.test_get_slice_bound_mismatched_unit  s    CC\\!_,-wIaL0066EIaL0066E)A,..t44D$$U$8qyy%%d%9zz ii'$88Aa=
v0r&   boxzside, expected)r0  r6   )r1  r.   c                    Un[        SS5      R                  U5      nU" SSSS9nU[        La  S O[        nSn	[        R
                  " XS9   Ub2  [        R                  " [        S	S9   UR                  XrS
9  S S S 5        OUR                  XrS
9n
X:X  d   eS S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)N
2000-01-03
2000-02-11i  r   r   yearmonthdayz1Slicing with a datetime.date object is deprecatedrW   Cannot compare tz-naiver  )
r   r   r   r
   r=   assert_produces_warningrY   rZ   r   r  )r   r  r  rA   r   r   r   r   warnr   r@   s              r#   %test_get_slice_bounds_datetime_within8TestGetSliceBounds.test_get_slice_bounds_datetime_within  s     L,7CCBGt1!,$tNA''8~]]94MN))#)9 ON ..s.>))) 98NN 98s$   B3*B":B3"
B0	,B33
Cr  r0  r1  zyear, expected)i  r   )r{  r  c                    Un[        SS5      R                  U5      nU" USSS9nUb2  [        R                  " [        SS9   UR                  XS9  S S S 5        g UR                  XS9n	X:X  d   eg ! , (       d  f       g = f)	Nr  r  r   r   r  r  rW   r  )r   r   rY   rZ   r   r  )
r   r  r  r  rA   r   r   r   r   r@   s
             r#   &test_get_slice_bounds_datetime_outside9TestGetSliceBounds.test_get_slice_bounds_datetime_outside  s     L,7CCBGt1!,>y0IJ%%c%5 KJ **3*:F%%% KJs   A22
B c           	      8   Un[        SS/5      R                  U5      nU" SSS5      nUb<  [        R                  " [        SS9   UR                  XQ" SSS5      5        S S S 5        g UR                  XQ" SSS5      5      nSnXg:X  d   eg ! , (       d  f       g = f)	Nz
2010-01-01z
2010-01-03r   r   r  rW   r1   )r   r   )r   r   rY   rZ   r   
slice_locs)r   r  r   r   r   r   r@   rA   s           r#   test_slice_datetime_locs+TestGetSliceBounds.test_slice_datetime_locs  s     |\:;GGK$1o>y0IJ  c$1o6 KJ %%c3tQ?;FH%%% KJs   B
Bri   N)rj   rk   rl   rm   rY   rn   ro   r  r   r   r   r  r  r  rp   ri   r&   r#   r  r    s   [[WtUm41 512 [[UT8Y$?@[[-\/JK* L A*& [[UXy$9:[[Vfg%67[[-	:/FG& H 8 ;&  [[UXy$9:& ;&r&   r  c                   b    \ rS rSrS r\R                  R                  S/ SQ5      S 5       rSr	g)TestIndexerBetweenTimei  c           
          [        SSSS9nSn[        R                  " [        US9   UR	                  [        SSS	S5      [        SSS	S
5      5        S S S 5        g ! , (       d  f       g = f)Nr   1/5/20005minrG   zGCannot convert arg \[datetime\.datetime\(2010, 1, 2, 1, 0\)\] to a timerW   r   r   r1   r.   )r   rY   rZ   r[   indexer_between_timer   )r   rO   r   s      r#   test_indexer_between_time0TestIndexerBetweenTime.test_indexer_between_time  sW    Zf=X]]:S1$$XdAq!%<htQPQST>UV 211s   +A
A)r   )r  r   r  c                 ^   [        SSSS9nUR                  R                  nUR                  SU S35      n[	        UR                  5      R                  XDR                  S9n[        U5      nUR                  UR                  :X  d   e[        SS	5      n[        S
S5      nUR                  Xx5      n	UR                  Xx5      n
[        R                  " X5        [        SS	SS5      n[        S
SSS5      nUR                  Xx5      n	UR                  Xx5      n
[        R                  " X5        g )Nr   r  r  rG   zM8[]r   r      r1      r   in  i  )r   r  _ndarrayr  type_simple_newr<   r   r   r  r=   r  )r   r   rO   arr_nanor   r  rb   r7  tocr@   rA   s              r#   "test_indexer_between_time_non_nano9TestIndexerBetweenTime.test_indexer_between_time_non_nano  s
   
 Zf=99%%ooD6m,399o))#YY)?C yyCII%%%1bk1bk))#3++C5
##F5 1b!U#1b!T"))#3++C5
##F5r&   ri   N)
rj   rk   rl   rm   r  rY   rn   ro   r  rp   ri   r&   r#   r  r    s.    W [[V%676 86r&   r  )*r   r   r   r   numpyrK   rY   pandas._libsr   r!  pandas.compat.numpyr	   pandas.errorsr
   pandas.util._test_decoratorsutil_test_decoratorsr   pandasrz   r   r   r   r   r   r   pandas._testing_testingr=   pandas.tseries.frequenciesr   rH   rI   r   rr   r   r   rP  r^  r  r  r  ri   r&   r#   <module>r     s       * ' ( ) )    0dAq!8D!Q#7
sV! V!rg0 g0Tl( l(^e" e"P ,j0 j0Z" "*Q& Q&h#6 #6r&   