
    bMhl                        d dl m Z  d dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
Zd dl
mZmZmZmZmZmZmZmZmZ d dlmZ  edd          Zedd	         Z ej         ed
                    Z ej        ee                    d          e                    d          eed          z
  e ej        g d           ej        g d           ej        g dd          ej         !                    e          g	          d             Z" G d d          Z# G d d          Z$ G d d          Z% G d d          Z& G d d          Z' G d d          Z( G d  d!          Z) G d" d#          Z*dS )$    )datetimeN)period)InvalidIndexError)	DatetimeIndexNaTPeriodPeriodIndexSeries	Timedelta
date_rangenotnaperiod_range
2016-01-01   periods   UTCW      r   )g       @g      @g      @)r         u8dtype)paramsc                     | j         S )N)param)requests    i/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/indexes/period/test_indexing.pynon_comparable_idxr$      s     =    c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j        j        d             Ze
j                            d	eeg          d
             ZdS )TestGetItemc                 `    t          dddd          }|j        |dd          j        k    sJ d S )N20010101
   Dbobr   freqnamer   )r   r/   selfidxs     r#   test_getitem_slice_keeps_namez)TestGetItem.test_getitem_slice_keeps_name0   s;    :r%HHHx3qrr7<''''''r%   c                 L   t          dddd          }|fD ]}|d         }|t          dd          k    sJ |d         }|t          dd          k    sJ |dd	         }t          dd
dd          }t          j        ||           |j        |j        k    sJ |j        dk    sJ |ddd         }t          g ddd          }t          j        ||           |j        |j        k    sJ |j        dk    sJ |ddd         }t          g ddd          }t          j        ||           |j        |j        k    sJ |j        dk    sJ |dd d         }t          g ddd          }t          j        ||           |j        |j        k    sJ |j        dk    sJ d S )N
2011-01-01
2011-01-31r+   r2   r.   r/   r   r.   r   r   
2011-01-05r*   r   )r5   
2011-01-03r9   z
2011-01-07z
2011-01-09ir   )z
2011-01-12z
2011-01-15z
2011-01-18z
2011-01-21z
2011-01-24r   )r9   
2011-01-04r:   
2011-01-02r5   )r   r   tmassert_index_equalr.   r	   r1   idx1r2   resultexpecteds        r#   test_getitemzTestGetItem.test_getitem4   s0   L,SuMMM6 )	& )	&CVFVLs;;;;;;;WFVLs;;;;;;;1XF#L,SuUUUH!&(333;(-////;#%%%%2a[F"VVV  H
 !&(333;(-////;#%%%%R]F"VVV  H
 !&(333;(-////;#%%%%BZF"VVV  H
 !&(333;(-////;#%%%%%S)	& )	&r%   c                     t          dddd          }|g d         }t          g ddd          }t          j        ||           |g d	         }t          g d
dd          }t          j        ||           d S )N2007-01r*   Mxr-   )r   r   r   )2007-02z2007-042007-06r7   )
TTFFFTTFFF)rF   rI   rJ   z2007-07)r   r	   r>   r?   )r1   r2   rB   exps       r#   test_getitem_indexzTestGetItem.test_getitem_indexb   s    9bsEEEYYY;;;#CPPP
fc***WWWX888s
 
 
 	fc*****r%   c                    t          ddd          }t          t          j                            d                              t          |                    |          }t          j        t          d          5  |d          d d d            n# 1 swxY w Y   |d	         }|j
        j        d
k                                    sJ |d	d         }t          |          dk    sJ |dd         }t          |          dk    sJ |dd         }t          |          dk    sJ |d d         }t          |          dk    sJ |dd          }t          |          dk    sJ |}|dd          }t          j        ||           t          j        |dd          |dd          g          }d}t          j        t          |          5  |t#          d	d                    d d d            d S # 1 swxY w Y   d S )NrF   2   rG   r   r.   r   z^'2006'$match20062008i  2009   z2008-1z2009-122008Q12009Q4$      r*   z-left slice bound for non-unique label: '2008')r   r
   nprandomdefault_rngstandard_normallenpytestraisesKeyErrorindexyearallr>   assert_series_equalpdconcatslice)r1   rngtsrB   rK   msgs         r#   test_getitem_partialz TestGetItem.test_getitem_partialo   s~   9bs;;;BI))!,,<<SXXFFLL]8;777 	 	vJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 F!T)..00000F6M"6{{b    HY&'6{{b    HX%&6{{b    GVG6{{b    FGG6{{g%%%%BCC
sF+++Y233BCC)**=]83/// 	& 	&uVV$$%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s$   ;	BBBG**G.1G.c                    t          ddd          }t          t          t          |                    |          }t	          ddd          }t	          dd	d
          }|||         }t          j        ||           d S )N
2012-01-01r*   zW-MONstartr   r.   rb   i  r   i  r      )r   r
   ranger^   r   r>   re   )r1   ri   rj   dt1dt4rss         r#   test_getitem_datetimez!TestGetItem.test_getitem_datetime   s|    rHHHE#c((OO3///tR##tQ##C[
r2&&&&&r%   c                 z   t          g dd          }|d         t          dd          k    sJ |d         t          u sJ t          g d|          }|t                   dk    sJ t          ||          }|t          dd                   t          dd          k    sJ |t                   t          u sJ d S )	N2011-01r   z2011-02rG   r8   r   rz   r   r   r   r   rq   )r	   r   r   r
   )r1   r2   ss      r#   test_getitem_natzTestGetItem.test_getitem_nat   s    777cBBB1v	44444441v}}}}999C(((v{{{{3c"""	,,,-	1L1L1LLLLLv}}}}}}r%   c                     t          ddd          }t          t          t          |                    |          }|j        dg         }t          j        |t          dd          g         |           d S )	Nrn   r*   r+   ro   rq   r   z
2012-01-02r8   )r   r
   rs   r^   ilocr>   re   r   )r1   ri   rj   rK   s       r#   test_getitem_list_periodsz%TestGetItem.test_getitem_list_periods   so    rDDDE#c((OO3///gqcl
r6,S#A#A#A"BCSIIIIIr%   c                 L   t          ddd          }t          ddd          }||fD ]}g d}|D ]=}t          j        t          d          5  ||          d d d            n# 1 swxY w Y   >t          t          j                            d                              t          |                    |	          }t          j        |d
         |dd                    t          j        |d         |d d                    dD ]}t          j        ||         |           d S )Nz2013/01/01 09:00:00r|   i  rp   r.   r   20142013/02z
2013/01/022013/02/01 9h2013/02/01 09:00only integers, slicesrP   r   rq   z2013/01/01 10:00i  iL  z2013/01/01 9h)
2013/01/012013/012013)r   r   r_   r`   
IndexErrorr
   rZ   r[   r\   r^   r>   re   )r1   didxpidxr2   valuesvalserds           r#   test_getitem_secondsz TestGetItem.test_getitem_seconds   s     5CNNN"7c4PPP$< 	4 	4C  F    ]:5LMMM  HH               ..q1188SBB#NNNC"3'9#:CT	NKKK"3#7UdUDDD6 4 4&s1vs33334'	4 	4s   	A##A'*A'	idx_rangec                     |ddd          }g d}|D ]=}t          j        t          d          5  ||          d d d            n# 1 swxY w Y   >t          t          j                            d                              t          |                    |	          }t          j	        |d
         |dd                    t          j	        |d         |dd                    t          j	        |d         |dd                     ddg}|D ]=}t          j        t          |          5  ||          d d d            n# 1 swxY w Y   >d S )Nr   r+   i  r   r   r   rP   r   rq   r   r      r   ;   r   im  r   r   )r_   r`   r   r
   rZ   r[   r\   r^   r>   re   ra   )r1   r   r2   r   r   r   invalids          r#   test_getitem_dayzTestGetItem.test_getitem_day   s    ilcBBB
 
 
  	 	C z1HIII  C               RY**1--44SXX>>cJJJ
s9~s1R4y999
s9~s2b5z:::
s6{CI666"$67 	 	Cxs333  C              	 	s#   	AA	A	-	EE		E	N)__name__
__module____qualname__r3   rD   rL   rl   rw   r}   r   r_   markarm_slowr   parametrizer   r   r    r%   r#   r'   r'   /   s        ( ( (,& ,& ,&\+ + + &  &  &D' ' '
 
 
J J J [4 4 46 [	
     r%   r'   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )
TestGetLocc                 \   t          ddd          }t          dd          }t          j        t          d          5  |                    |           d d d            n# 1 swxY w Y   	 |                    |           d S # t          $ r}|j        d         |k    sJ Y d }~d S d }~ww xY w)	Nz2000-1-1Yr*   r.   r   2012z^Period\('2012', 'Y-DEC'\)$rP   r   )r   r   r_   r`   ra   get_locargs)r1   r2   
bad_periodinsts       r#   test_get_loc_msgzTestGetLoc.test_get_loc_msg   s   :C<<<FC((
]8+IJJJ 	$ 	$KK
###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$	.KK
##### 	. 	. 	.9Q<:----------	.s)   A  A$'A$,B 
B+B&&B+c                 l   t          g d          }t          g dd          }||fD ]}|                    t                    dk    sJ |                    d           dk    sJ |                    t	          d                    dk    sJ |                    t
          j                  dk    sJ d S )N)r5   r   r:   rG   r8   r   nan)r   r	   r   r   floatrZ   r   )r1   r   r   r2   s       r#   test_get_loc_natzTestGetLoc.test_get_loc_nat   s    @@@AA>>>SIII $< 	, 	,C;;s##q((((;;t$$))));;uU||,,1111;;rv&&!+++++		, 	,r%   c                 d   t          d          }t          d          }t          d          }t          |||g          }d}d}|                    |          |k    sJ |                    t          |                    |k    sJ |                    |          |k    sJ |                    t          |                    |k    sJ d}t	          j        t          |          5  |                    d           d d d            n# 1 swxY w Y   t	          j        t          d	          5  |                    d
           d d d            n# 1 swxY w Y   t	          j        t          t          j	        t          |                              5  |                    |           d d d            n# 1 swxY w Y   t          |||g          }t          dd          }d}|                    |          |k    sJ |                    t          |                    |k    sJ |                    |          |k    sJ |                    t          |                    |k    sJ d}t	          j        t          |          5  |                    d           d d d            n# 1 swxY w Y   t	          j        t          d	          5  |                    d
           d d d            n# 1 swxY w Y   t	          j        t          t          j	        t          |                              5  |                    |           d d d            n# 1 swxY w Y   t          |||g          }	d}
t          j        g d          }|	                    |          |
k    sJ |	                    t          |                    |
k    sJ t          j        |	                    |          |           t          j        |	                    t          |                    |           d S )N
2017-09-01
2017-09-02
2017-09-03r   r   z Cannot interpret 'foo' as periodrP   fooz^1\.1$g?r   )TFT)r   r	   r   strr_   r`   ra   r   reescaperh   rZ   arrayr>   assert_numpy_array_equal)r1   p0p1p2idx0expected_idx1_p1expected_idx1_p2rk   rA   idx2expected_idx2_p1expected_idx2_p2s               r#   test_get_loczTestGetLoc.test_get_loc  sU   L!!L!!L!! BB<((||B#33333||CGG$$(88888||B#33333||CGG$$(888880]83/// 	  	 LL	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 ]89555 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ],BIc$ii4H4HIII 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 BB<(( A;;||B#33333||CGG$$(88888||B#33333||CGG$$(888880]83/// 	  	 LL	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  ]89555 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ],BIc$ii4H4HIII 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 BB<((8$7$7$788||B#33333||CGG$$(88888
#DLL$4$46FGGG
#DLLR$9$9;KLLLLLsl   'D		DD/EEEF88F<?F<
J,,J03J0K44K8;K89MM"Mc                    t          dd          }|                    d          }t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   |                    d          }t          j        t          d	          5  |                    d
           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r+   16801rP   iA  r   46.   )r   	to_periodr_   r`   ra   r   )r1   dtipipi2s       r#   test_get_loc_integerzTestGetLoc.test_get_loc_integer@  s<   q111]]3]87333 	 	JJu	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 mmC  ]84000 	 	KKOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A$$A(+A(CC	Cc                    t          ddd          }t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          g d|          }t          j        t          d          5  |j        d          d d d            n# 1 swxY w Y   t          j        t          d          5  |d          d d d            n# 1 swxY w Y   d|vsJ d|vsJ d S )N2000r   A)r   r/   rP   r   rq   )r   r_   r`   ra   r   r
   loc)r1   r   r   s      r#   +test_get_loc_invalid_string_raises_keyerrorz6TestGetLoc.test_get_loc_invalid_string_raises_keyerrorJ  s   &!#666]83/// 	 	JJsOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 YYYb)))]83/// 	 	GCLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]83/// 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 #~~~~"}}}}}}s5   AAA	B##B'*B'		CC"%C"c                    t          dd          }|                    d          }|                    d          }|                    |j                  }t	          j        t          d          5  |                    |d                    d d d            n# 1 swxY w Y   t	          j        t          d          5  |                    |d                    d d d            d S # 1 swxY w Y   d S )	Nr   r   r   r+   r   zW-SUNrP   r   )r   r   viewr   r_   r`   ra   r   )r1   r   r   r   pi3s        r#   test_get_loc_mismatched_freqz'TestGetLoc.test_get_loc_mismatched_freqZ  s\    q111]]3mmC  ggci  ]87333 	 	JJs1v	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]87333 	 	JJs1v	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   1BB B?C((C,/C,N)	r   r   r   r   r   r   r   r   r   r   r%   r#   r   r      sr        	. 	. 	.	, 	, 	,8M 8M 8Mt         r%   r   c                   x    e Zd Zd Zd Zd Zej                            dg d          d             Z	d Z
d Zd	S )
TestGetIndexerc                    t          d          }t          d          }t          d          }t          d          }t          d          }t          d          }t          d          }t          |||g          }t          j        |                    |          t          j        g dt
          j        	                     t          ||||g          }	t          j        |                    |	d
          t          j        g dt
          j        	                     t          j        |                    |	d          t          j        g dt
          j        	                     t          j        |                    |	d          t          j        g dt
          j        	                     |                    |	dt          d                    }
t          j        |
t          j        g dt
          j        	                     d S )Nr   
2017-09-04z
2017-09-07z
2017-08-31r   
2017-09-05z
2017-09-09r{   r   pad)r   r   r   r   backfill)r   r   r   r   nearest)r   r   r   r   1 day	tolerance)r   r   r   r   )	r   r	   r>   r   get_indexerrZ   r   intpr   )r1   r   r   p3tp0tp1tp2tp3r2   targetress              r#   test_get_indexerzTestGetIndexer.test_get_indexerk  s   L!!L!!L!!\""\""\""\""2r2,''
#OOC  "(999BG"D"D"D	
 	
 	
 c3S122
#OOFE**BH]]]"',R,R,R	
 	
 	
 	#OOFJ//---rw1W1W1W	
 	
 	
 	#OOFI..RW0U0U0U	
 	
 	
 oofi9W;M;MoNN
#C---rw)O)O)OPPPPPr%   c                    t          dd          }|                    d          }|                    d          }t          j        g dt          j                  }|                    |          }t          j        ||           |                    |          }t          j        ||           |                    |          }t          j        ||           |                    |          d         }t          j        ||           |                    |          d         }t          j        ||           |                    |          d         }t          j        ||           d S )	Nr   r   r   r+   r   )r   r   r   r   r   )	r   r   rZ   r   r   r   r>   r   get_indexer_non_unique)r1   r   r   r   rC   rB   s         r#   !test_get_indexer_mismatched_dtypez0TestGetIndexer.test_get_indexer_mismatched_dtype  sI    q111]]3mmC  8LLL888$$
#FH555 $$
#FH555$$
#FH555 **3//2
#FH555++B//2
#FH555**3//2
#FH55555r%   c                    t          dd          }|                    d          }|}|d d                             |          }t          j        |j        t          j                   }t          j        ||           d S )Nr   r   r   r+   r   r   )	r   r   r   rZ   onesshaper   r>   r   )r1   r$   r   r   otherr   rC   s          r#   2test_get_indexer_mismatched_dtype_different_lengthzATestGetIndexer.test_get_indexer_mismatched_dtype_different_length  s{     q111]]3""g!!%((GEKrw7777
#C22222r%   method)r   r   r   c                    t          dd          }|                    d          }|}t          j        d|j         d|j                   }t          j        t          |          5  |                    ||           d d d            n# 1 swxY w Y   d	D ]}|	                    |          }|d
k    rt          |t                    r3d                    d d|j         d|j         dfD                       }t          j        t          |          5  |                    ||           d d d            n# 1 swxY w Y   d S )Nr   r   r   r+   zCannot compare dtypes z and rP   )r   )objectcategoryr   |c                 6    g | ]}t          j        |          S r   )r   r   ).0rk   s     r#   
<listcomp>zPTestGetIndexer.test_get_indexer_mismatched_dtype_with_method.<locals>.<listcomp>  s0        IcNN  r%   z$ not supported between instances of )r   r   r   r   r   r_   r`   	TypeErrorr   astype
isinstancer	   join)	r1   r$   r   r   r   r   rk   r   other2s	            r#   -test_get_indexer_mismatched_dtype_with_methodz<TestGetIndexer.test_get_indexer_mismatched_dtype_with_method  s   q111]]3"iMMMMMNN]9C000 	1 	1NN5N000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 , 	6 	6E\\%((F  Z{%C%C ((  NMMMM>    C y444 6 6vf5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6	6 	6s$   (BBBD<<E 	E 	c                    t          d          }t          d          }t          d          }t          d          }t          |||g          }t          ||||g          }|                    |          }t          j        g dt          j                  }t          j        ddgt          j                  }	t          j        |d	         |           t          j        |d
         |	           d S )Nr   r   r   r   )r   r   r   r   r   r   r   r   r   r   )r   r	   r   rZ   r   r   r>   r   )
r1   r   r   r   p4rA   r   rB   expected_indexerexpected_missings
             r#   test_get_indexer_non_uniquez*TestGetIndexer.test_get_indexer_non_unique  s    L!!L!!L!!L!!BB<((BB+,,,,T228$5$5$5RWEEE8QF"':::
#F1I/?@@@
#F1I/?@@@@@r%   c                    t          dd                              dd          }t          j        |                    |          t          j        g dt
          j                             t          g d	d
          }t          j        |                    |d          t          j        g dt
          j                             t          j        |                    |d          t          j        g dt
          j                             t          j        |                    |d          t          j        g dt
          j                             t          j        |                    |dd          t          j        g dt
          j                             d}t          j
        t          |          5  |                    |dd           d d d            n# 1 swxY w Y   t          j        |                    |dd          t          j        g dt
          j                             t          d          t          d          t          j        dd          g}t          j        |                    |dd |D                       t          j        g dt
          j                             t          d                                          t          d                                          t          j        dd          g}t          j
        t          j        d          5  |                    |d|           d d d            d S # 1 swxY w Y   d S )Nz
2000-01-01r   r   hrp   )howr{   r   )z1999-12-31T23z2000-01-01T12z2000-01-02T01r8   r   )r   r   r   r   r   )r   r   r   z1 hourr   )r   r   r   z8Input has different freq=None from PeriodArray\(freq=h\)rP   z1 minuter   r   r+   c                 6    g | ]}t          j        |          S r   )rZ   timedelta64)r   rH   s     r#   r   z4TestGetIndexer.test_get_indexer2.<locals>.<listcomp>  s"    -Q-Q-QAbnQ.?.?-Q-Q-Qr%   z2 hourrG   z"Input has different freq=None from)r   asfreqr>   r   r   rZ   r   r   r	   r_   r`   
ValueErrorr   r
  to_timedelta64	libperiodIncompatibleFrequency)r1   r2   r   rk   tol_rawtol_bads         r#   test_get_indexer2z TestGetIndexer.test_get_indexer2  s   <333::3G:LL
#OOC  "(999BG"D"D"D	
 	
 	
 ???c
 
 
 	#OOFE**BHZZZrw,O,O,O	
 	
 	
 	#OOFJ//)))271S1S1S	
 	
 	
 	#OOFI.."'0R0R0R	
 	
 	
 	#OOFIOBBHZZZrw///	
 	
 	

 K]:S111 	E 	EOOFIODDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	#OOFIOAAHYYYbg...	
 	
 	

 hhN1c""

 	#OO	-Q-Q-Q-Q-Q    HZZZrw///		
 	
 	
 h..00h..00N1c""

 ]+3W
 
 
 	B 	B OOFIOAAA	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	Bs$   G**G.1G.=M##M'*M'N)r   r   r   r   r   r   r_   r   r   r   r  r  r   r%   r#   r   r   j  s        Q Q Q>6 6 6:
3 
3 
3 [X'E'E'EFF6 6 GF66A A A$2B 2B 2B 2B 2Br%   r   c                   &    e Zd Zd Zd Zd Zd ZdS )	TestWherec                    t          ddd          }dgt          |          z  }|}|                     ||                    }t          j        ||           dgdgt          |          dz
  z  z   }t          t          g|dd                                          z   d          }|                     ||                    }t          j        ||           d S )	N20130101r   r+   rO   TFr   r8   )r   r^   wherer>   r?   r	   r   tolist)r1   listlike_boxicondrC   rB   s         r#   
test_wherezTestWhere.test_where  s    QS999vAd++,,
fh///w$3q66A:..uqu||~~5C@@@d++,,
fh/////r%   c                    t          ddd          }t          j        t          fD ]=}|                    t          |          |          }|}t          j        ||           >|                                }t          t          t          g|dd          
                                z   d          }|                    t          |          |          }t          j        ||           |                                }t          t          t          g|dd          
                                z   d          }|                    t          |          |j                  }t          j        ||           d S )Nr  r   r+   rO   )r   r   r8   )r   rZ   r   r   r  r   r>   r?   copyr	   r  r   )r1   r  arrrB   rC   i2s         r#   test_where_otherzTestWhere.test_where_other#  s1   QS999FC= 	4 	4CWWU1XXSW11FH!&(3333VVXX#saellnn43???rB''
fb)))VVXX#saellnn43???rBI..
fb)))))r%   c                    t          ddd          }|dd                                          }t          t          t          g|z   d          }t	          |          }|                    ||j                  }t          j        t          j	        t          j	        g|z   t                    }t          |d         t                    sJ t          j        ||           |j                            d	          }t          j        |d         |d
         g|z   t                    }t          |d         t           j                  sJ |                    ||          }t          j        ||           |                    d          }t          j        |d         |d
         g|z   t                    }|d         t          u sJ |                    ||          }t          j        ||           t'          d          }	t          j        |	|	g|z   t                    }|d         |	k    sJ |                    ||	          }t          j        ||           d S )Nr  r   r+   rO   r   r8   r   r   ztimedelta64[ns]r   r|   r   )days)r   r  r	   r   r   r  asi8rf   Index_valuer   r   intr>   r?   r   rZ   r
  to_timestampr   )
r1   r   tailr   maskrB   rC   tdir   tds
             r#   test_where_invalid_dtypesz#TestWhere.test_where_invalid_dtypes4  s   *ac:::!""v}}#sd*555Ryy$((8SZ4t;6JJJ(1+s+++++
fh///gll,--8SVSV,t36BBB(1+r~66666$$$
fh///ooc""8SVSV,t36BBB{c!!!!$$$
fh///A8RHtO6:::{b    $##
fh/////r%   c                 R   t          ddd          }t          j        g d          }t          j        dd          }t	          j        |d         ||d	         |d
         |gt                    }|d         |u sJ |                    ||          }t          j	        ||           d S )Nr  r   r+   rO   )TFTTFr   nsr   r   r   r   r   )
r   rZ   r   r
  rf   r%  r   r  r>   r?   )r1   r   r  tdnatrC   rB   s         r#   test_where_mismatched_natz#TestWhere.test_where_mismatched_natR  s    *ac:::x88899ud++8RUE2a5"Q%?vNNN{e####$&&
fh/////r%   N)r   r   r   r  r!  r-  r1  r   r%   r#   r  r    sP        
0 
0 
0* * *"0 0 0<0 0 0 0 0r%   r  c                        e Zd Zd Zd Zd ZdS )TestTakec                    t          dddd          }|fD ]7}|                    dg          }|t          dd          k    sJ |                    dg          }|t          d	d          k    sJ |                    g d
          }t          dddd          }t          j        ||           |j        dk    sJ |j        |j        k    sJ |                    g d          }t          g ddd          }t          j        ||           |j        |j        k    sJ |j        dk    sJ |                    g d          }t          g ddd          }t          j        ||           |j        |j        k    sJ |j        dk    sJ |                    g d          }t          g ddd          }t          j        ||           |j        |j        k    sJ |j        dk    sJ |                    g d          }t          g ddd          }t          j        ||           |j        |j        k    sJ |j        dk    sJ 9d S )Nr5   r6   r+   r2   r7   r   r8   r   
2011-01-06r{   r:   )r   r   r   )r5   r:   r9   )   r   r   )z
2011-01-08r9   r=   )r   r   r   )r<   r:   r5  )r   r   )z
2011-01-29r:   r5  )r   taker   r>   r?   r.   r	   r@   s        r#   	test_takezTestTake.test_take^  s   L,SuMMM6 +	& +	&CXXqc]]FVLs;;;;;;;XXqc]]FVLs;;;;;;;XXiii((F#L,SuUUUH!&(333;#%%%%;(-////XXiii((F":::5  H !&(333;(-////;#%%%%XXiii((F":::5  H !&(333;(-////;#%%%%XXiii((F":::5  H !&(333;(-////;#%%%%XXjjj))F":::5  H !&(333;(-////;#%%%%%W+	& +	&r%   c           
         t          dddd          }t          t          ddd          t          ddd	          t          ddd
          t          ddd          gdd          }|                    g d          }|g d         }||fD ]R}t	          j        ||           t          |t                    sJ |j        |j        k    sJ |j        |j        k    sJ Sd S )Nz1/1/10z12/31/12r+   r2   )rp   endr.   r/   i  r   r   r6  	      r7   )r   r         )	r   r	   r   r8  r>   r?   r   r.   r/   )r1   rb   rC   taken1taken2takens         r#   test_take_misczTestTake.test_take_misc  s   8#ERRRq!$$q!$$q!$$q"%%	 	
 	
 	
 MMM**}}}%f% 	/ 	/E!%222e[11111:++++:.....		/ 	/r%   c                 ^   t          g ddd          }|                    t          j        g d                    }t          g ddd          }t	          j        ||           |                    t          j        g d          d          }t          g d	dd          }t	          j        ||           |                    t          j        g d          d
d          }t          g ddd          }t	          j        ||           d}t          j        t          |          5  |                    t          j        g d          d           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    t          j        g d          d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                    t          j        ddg                     d d d            d S # 1 swxY w Y   d S )N)r5   
2011-02-01
2011-03-01xxxr+   )r/   r.   )r   r   r   )rE  r5   rF  T)
fill_value)rE  r5   r   F)
allow_fillrH  zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1rP   )r   r   )r   r   r;   z3index -5 is out of bounds for( axis 0 with)? size 3r   r;   )
r	   r8  rZ   r   r>   r?   r_   r`   r  r   )r1   r2   rB   rC   rk   s        r#   test_take_fill_valuezTestTake.test_take_fill_value  s   666U
 
 
 "(:::..//666U
 
 
 	fh/// "(:::..4@@///e#
 
 
 	fh/// "(:::..5TRR666U
 
 
 	fh///( 	 ]:S111 	< 	<HHRXjjj))dH;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<]:S111 	< 	<HHRXjjj))dH;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< D]:S111 	( 	(HHRXq"g&&'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s6   -,E%%E),E),GG
G+*H""H&)H&N)r   r   r   r9  rC  rK  r   r%   r#   r3  r3  ]  sB        /& /& /&b/ / /,$( $( $( $( $(r%   r3  c                   Z    e Zd Zej                            dddg          d             ZdS )TestGetValuer.   r  r+   c                 P   t          ddd          }|                    |          }t          t          dd          |          }|d         }|                    |          dk    sJ ||         dk    sJ |j        |         dk    sJ |t          d	          z   }|d
k    rt          j        t          d          5  |                    |           d d d            n# 1 swxY w Y   t          j        t          d          5  ||          d d d            n# 1 swxY w Y   t          j        t          d          5  |j        |          d d d            d S # 1 swxY w Y   d S |                    |          dk    sJ ||         dk    sJ |j        |         dk    sJ d S )Nr   r   MSrO   r6  r*   rq   r   )hoursr  z2016-01-01 03:00rP   )
r   r   r
   rs   r   r   r   r_   r`   ra   )r1   r.   r   r   r   rj   ts2s          r#   test_get_value_datetime_hourlyz+TestGetValue.test_get_value_datetime_hourly  sk   
 qt<<<]]4  U1b\\,,,Vzz"~~""""2w!||||wr{a91%%%%3;;x/ABBB    

3                             x/ABBB  C              x/ABBB                    ::c??a''''s8q====73<1$$$$$$s6   ?C!!C%(C%	DD #D EE!$E!N)r   r   r   r_   r   r   rR  r   r%   r#   rM  rM    sD        [Vc3Z00% % 10% % %r%   rM  c                        e Zd Zd Zd Zd ZdS )TestContainsc                    t          d          }t          d          }t          d          }t          d          }|||g}t          |          }|D ]}||v sJ t          |          |v sJ d}||vsJ t          j        t
          |          5  |                    |           d d d            n# 1 swxY w Y   d|v sJ ||vsJ d S )Nr   r   r   r   z2017-09-01 00:00:01rP   z2017-09)r   r	   r   r_   r`   ra   r   )	r1   r   r   r   r   ps0r   pkeys	            r#   test_containszTestContains.test_contains  s3   L!!L!!L!!L!!2rl3 	" 	"A9999q66T>>>>> $$]83/// 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 D    ~~~~~~s   B44B8;B8c                     t          ddd          }t          dd          |v sJ t          dd          |vsJ t          dd          |vsJ d S )NrF   rG   r*   r   r8   r+   2M)r   r   )r1   ri   s     r#   test_contains_freq_mismatchz(TestContains.test_contains_freq_mismatch  sv    93;;;ic***c1111ic***#5555id+++3666666r%   c                     t          ddd          }t          |vsJ d |vsJ t          d          |vsJ t          j        |vsJ t          g dd          }t          |v sJ d |v sJ t          d          |v sJ t          j        |v sJ d S )NrF   rG   r*   r   r   ry   r8   )r   r   r   rZ   r   r	   r0   s     r#   test_contains_natzTestContains.test_contains_nat  s    93;;;#~~~~3U||3&&&&vS    777cBBBczzzzs{{{{U||s""""v}}}}}}r%   N)r   r   r   rY  r\  r^  r   r%   r#   rT  rT    sA          27 7 7    r%   rT  c                       e Zd Zd ZdS )TestAsOfLocsc                    t          dd          }|                    d          }|                    d          }t          j        g dt                    }d}t          j        t          |	          5  |                    t          j
        |j        t          j                  |           d d d            n# 1 swxY w Y   t          j        t          |	          5  |                    t          j
        |j        t          j                  |           d d d            n# 1 swxY w Y   t          j        t          |	          5  |                    ||z
  |           d d d            n# 1 swxY w Y   d
}t          j        t          j        |	          5  |                    ||           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r+   r  )r   r   r   r   z$must be DatetimeIndex or PeriodIndexrP   zInput has different freq=h)r   r   rZ   r   boolr_   r`   r   	asof_locsrf   r%  r$  int64float64r  r  )r1   r   r   r   r*  rk   s         r#   test_asof_locs_mismatched_typez+TestAsOfLocs.test_asof_locs_mismatched_type  s   q111]]3mmC  x			...4]9C000 	B 	BLL"':::DAAA	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B ]9C000 	D 	DLL"'<<<dCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D ]9C000 	* 	*LLsD)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* +]9:#FFF 	$ 	$LLd###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$sH   6:B<<C C ":D((D,/D,E44E8;E8!GG	G	N)r   r   r   rf  r   r%   r#   r`  r`    s#        $ $ $ $ $r%   r`  )+r   r   numpyrZ   r_   pandas._libs.tslibsr   r  pandas.errorsr   pandasrf   r   r   r   r	   r
   r   r   r   r   pandas._testing_testingr>   dti4r   r%  rs   ri   fixturetz_localizer   IntervalIndexfrom_breaksr$   r'   r   r   r  r3  rM  rT  r`  r   r%   r#   <module>rr     sX         				      3 3 3 3 3 3 + + + + + +    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
      z,***
3B3ibhuuQxx cc!f!!$'''
$$T**
    
} } } } } } } }@x x x x x x x xviB iB iB iB iB iB iB iBXD0 D0 D0 D0 D0 D0 D0 D0Nl( l( l( l( l( l( l( l(^% % % % % % % %<- - - - - - - -`$ $ $ $ $ $ $ $ $ $r%   