
    o[we                       d dl mZ d dlZd dlZd dlZd dlZd dlmZm	Z	m
Z
 d dlZd dlmZmZmZmZ d dlmZ d dlmZmZmZmZ d dlmZ d dlmZ  ej        g d	          d
             Zej        d             Zej        d             Z ej        d             Z! G d d          Z" G d de"          Z# G d de"          Z$ej%        &                    d          ej%        &                    d           G d de"                                  Z'ej%        (                    d eg d          j)        e ej*        dd          ff ej+        ddd          j)        e ej,        dd          ff ej-        ddd          j)        effgd  !          d"             Z.ej%        (                    d# eg d          j)         ej,        dd          ej/        ff ej+        ddd          j)         ej*        dd          ej/        ff ej-        ddd          j)         ej,        dd           ej*        dd          ej/        ffgd$ !          d%             Z0ej%        (                    d& ej+        d'd()          j1         ej2        d'd()          j1        g          d*             Z3ej%        (                    d+d,d-g          ej%        (                    d. ej4        d/d0g           ed1d2gd3           ed/d0gd4          g          ej%        (                    d5e5ej1        ej1        ej6        ej7        ej8        ej9        g          d6                                     Z:ej%        (                    d. ej4        d/d0g           ed1d2gd3           ed/d0gd4          g          ej%        (                    d7d1d2gd8d9g e
d/d:;          gd2z  g          d<                         Z;ej%        (                    d5e5e<ej1        ej6        g          d=             Z=ej%        (                    d>d?d@g          dA             Z>dS )B    )annotationsN)NaTOutOfBoundsDatetime	Timestamp)DatetimeIndexPeriodPeriodIndexTimedeltaIndex)DatetimeArrayNumpyExtensionArrayPeriodArrayTimedeltaArray)_sequence_to_dt64ns)sequence_to_td64ns)DBWMQY)paramsc                    | j         S )z:Fixture returning parametrized frequency in string format.)param)requests    Elib/python3.11/site-packages/pandas/tests/arrays/test_datetimelike.pyfreqstrr   "   s     =    c                    t          j                    5  t          j        ddt                     t	          j        t          d          d|           }ddd           n# 1 swxY w Y   |S )z
    A fixture to provide PeriodIndex objects with different frequencies.

    Most PeriodArray behavior is already tested in PeriodIndex tests,
    so here we just test that the PeriodArray behavior matches
    the PeriodIndex behavior.
    ignorezPeriod with BDay freq)messagecategory
2000-01-01d   startperiodsfreqN)warningscatch_warningsfilterwarningsFutureWarningpdperiod_ranger   )r   pis     r   period_indexr/   (   s     
	 	"	" W W5	
 	
 	
 	
 _9\#:#:CgVVVW W W W W W W W W W W W W W W Is   AA!!A%(A%c                N    t          j        t          d          d|           }|S )z
    A fixture to provide DatetimeIndex objects with different frequencies.

    Most DatetimeArray behavior is already tested in DatetimeIndex tests,
    so here we just test that the DatetimeArray behavior matches
    the DatetimeIndex behavior.
    r"   r#   r$   )r,   
date_ranger   )r   dtis     r   datetime_indexr3   ;   s'     -i55s
Q
Q
QCJr   c                 $    t          g d          S )a  
    A fixture to provide TimedeltaIndex objects with different frequencies.
     Most TimedeltaArray behavior is already tested in TimedeltaIndex tests,
    so here we just test that the TimedeltaArray behavior matches
    the TimedeltaIndex behavior.
    1 Day3 Hoursr   )r
    r   r   timedelta_indexr9   I   s     555666r   c                     e Zd ZU ded<   ej        d             Zd Zej        	                    d e
j        dd           e
j        ddd	
           e
j        dd           e
j        ddd          g          d             Zej        	                    dddg          ej        	                    dddg          d                         Zd Zej        	                    ddd edddd          j        g          d             Zd Zej                            d          d             Zd  Zd! Zd" Zd# Zd$ Zej        	                    d%d&d'g          d(             Zd) Zej        	                    d*g d+          d,             Zd- Zd. Z d/ Z!d0 Z"d1 Z#ej        	                    d*e
j$        e
j%        e&j'        e(e)g          d2             Z*d3 Z+ej        	                    dddg          d4             Z,d5 Z-ej        	                    d*e(e&j'        e
j$        e
j%        g          d6             Z.d7 Z/d8 Z0d9 Z1d: Z2d;S )<SharedTestsz2type[DatetimeIndex | PeriodIndex | TimedeltaIndex]	index_clsc                r    t          j        dd          dz  dz  dz  }|                     |d          }|S )	z5Fixture returning DatetimeArray with daily frequency.
   i8dtype      ʚ;r   r'   )nparange	array_cls)selfdataarrs      r   arr1dzSharedTests.arr1dX   sA     y4(((2-4u<nnTn,,
r   c                8   |}|                      |          }t          j        t          d          5  ||d d         k     d d d            n# 1 swxY w Y   t          j        t          d          5  ||dg         k     d d d            d S # 1 swxY w Y   d S )NzLengths must matchmatch   r   )r<   pytestraises
ValueError)rI   rL   rK   idxs       r   test_compare_len1_raisesz$SharedTests.test_compare_len1_raises_   s!    nnS!!]:-ABBB 	 	3rr7NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:-ABBB 	 	3s8OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s#   AAA4BBBresult2020   r&   UTC)r&   tzz0 days2020Q1r   r&   r'   c                    t          j        |          }t          ||k              sJ t          ||k              rJ d S N)r,   Categoricalallany)rI   rV   expecteds      r   test_compare_with_Categoricalz)SharedTests.test_compare_with_Categoricall   sK     >&))6X%&&&&&v)*******r   reverseTFas_indexc                   t          j        ||          }|rt          j        |          }||}}|r||}}t          j        |j        t                    }| }	||k    }
t          j        |
|           ||k    }
t          j        |
|	           |sp|sp||k     }
t          j        |
|	           ||k    }
t          j        |
|           ||k    }
t          j        |
|	           ||k    }
t          j        |
|           d S d S d S )N)orderedr@   )	r,   r`   CategoricalIndexrF   onesshapebooltmassert_numpy_array_equal)rI   rL   rf   re   rh   otherleftrightrj   zerosrV   s              r   test_compare_categorical_dtypez*SharedTests.test_compare_categorical_dtypez   s:    ug666 	/'..EUe 	&%Dwu{$///
#FD111
#FE222 	6x 	6 E\F'666U]F'555E\F'666U]F'55555	6 	6 	6 	6r   c                   t          j        dd          dz  dz  dz  }t           j                            d                              |           | j        t          u rt          |d          }n|                     |          }| j                            |          }g d	}|	                    |          }|	                    |          }t          j        |                     |          |           t          j        g d	          }|	                    |          }|	                    |          }t          j        |                     |          |           d S )
Nr#   r?   r@   rB   rC   rD      	period[D])rP      ^   )rF   rG   randomdefault_rngshufflerH   r   r<   _simple_newtakerm   assert_index_equalarray)rI   rJ   rK   rT   takersrV   rc   s          r   	test_takezSharedTests.test_take   s4   yD)))B.5=
	a  ((...>[((d+666CC..&&Cn((--&!!88F##
dnnV44h???***%%&!!88F##
dnnV44h?????r   
fill_valueru   g       @i  rP      c                    d|j         j         d}t          j        t          |          5  |                    ddgd|           d d d            d S # 1 swxY w Y   d S )Nvalue should be a '' or 'NaT'. GotrN   r   rP   T
allow_fillr   )_scalar_type__name__rQ   rR   	TypeErrorr}   )rI   r   rL   msgs       r   test_take_fill_raisesz!SharedTests.test_take_fill_raises   s    PE$6$?PPP]9C000 	G 	GJJ1v$:JFFF	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	Gs   AAAc                h   t          j        dd          dz  dz  dz   |}|                    ddgd	d 
          }|d         t          u sJ |                    ddgd	t           j        
          }|d         t          u sJ |                    ddgd	t          
          }|d         t          u sJ d S )Nr>   r?   r@   rB   rC   rD   rP   Tr   r   )rF   rG   r}   r   nan)rI   rL   rK   rV   s       r   test_take_fillzSharedTests.test_take_fill   s    
	"D!!!B&-552q'dtDDayC2q'drvFFayC2q'dsCCayCr   8ignore:Period with BDay freq is deprecated:FutureWarningc                Z   |                     ddgdt          |d                             }|ddg         }t          j        ||           d|j        j         d}t          j        t          |          5  |                     ddgdd           d d d            d S # 1 swxY w Y   d S )	Nr   rP   Tr   r   r   rN   foo)	r}   strrm   assert_equalr   r   rQ   rR   r   rI   rL   rV   rc   r   s        r   test_take_fill_strzSharedTests.test_take_fill_str   s   
 RGU2YPP"a>
)))PE$6$?PPP]9C000 	C 	CJJAw4EJBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	Cs   8B  B$'B$c                   |}|                      |          }|                    dt                    }|                     |          }|                    |d d         |dd          |g          }|                    t                    }|                      t          j        |d d         |dd          |g          d           }t          j
        |                      |          |           d S )Nr   r   rP   )r<   insertr   rH   _concat_same_typeastypeobjectrF   concatenaterm   r~   )rI   rL   rK   rT   rV   arr2rc   s          r   test_concat_same_typez!SharedTests.test_concat_same_type   s    nnS!!jjC  nnS!!&&CRC#abb'3'?@@zz&!!>>".$ss)T!""Xt1L"M"MtTT
dnnV44h?????r   c                   |                     |d                   }|j        j        j        }t	          ||          sJ |                     t
                    }t	          ||          sJ d| j        j         d}t          j	        t          |          5  |                     d           d d d            d S # 1 swxY w Y   d S )Nr   z'value' should be a .rN   r   )_unbox_scalar_ndarrayrA   type
isinstancer   scalar_typer   rQ   rR   rS   r   s        r   test_unbox_scalarzSharedTests.test_unbox_scalar   s   $$U1X..>',&(+++++$$S))&(+++++AT%5%>AAA]:S111 	' 	'&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   B99B= B=c                    |                     |d                    |                     |d d                    |                     t                     d S )Nr   rP   )_check_compatible_withr   rI   rL   s     r   test_check_compatible_withz&SharedTests.test_check_compatible_with   sP    $$U1X...$$U2A2Y///$$S)))))r   c                r    |                     t          |d                             }||d         k    sJ d S )Nr   )_scalar_from_stringr   )rI   rL   rV   s      r   test_scalar_from_stringz#SharedTests.test_scalar_from_string   s:    **3uQx==99q!!!!!!r   c                    d}t          j        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nz)does not support reduction 'not a method'rN   znot a method)rQ   rR   r   _reduce)rI   rL   r   s      r   test_reduce_invalidzSharedTests.test_reduce_invalid   s    9]9C000 	* 	*MM.)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*   AAAmethodpadbackfillc                d   t          j        dd          dz  dz  dz  }| j        t          u r|                     |d          }n|                     |          }t          |d<   |d	k    r|d
         n|d         }|                    |          }|d         |k    sJ |d         t          u sJ d S )Nr>   r?   r@   rB   rC   rD   rv   rw   r   rX      )r   )rF   rG   rH   r   r   _pad_or_backfill)rI   r   rJ   rK   r   rV   s         r   %test_fillna_method_doesnt_change_origz1SharedTests.test_fillna_method_doesnt_change_orig   s    y4(((2-4u<>[((..[.99CC..&&CA%SVVCF
%%V%44ayJ&&&& 1v}}}}}}r   c                   t          j        dd          dz  dz  dz  }| j        t          u r|                     |d          }n|                     |          }|                    |d                   }|dk    sJ |                    |d	         d
          }|dk    sJ |                    |dd                   }t          j        dd	gt           j                  }t          j        ||           |                    |dd         d
          }t          j        d	dgt           j                  }t          j        ||           |                    t                    }|dk    sJ d S )Nr>   r?   r@   rB   rC   rD   rv   rP   ru   rq   siderX   )
rF   rG   rH   r   searchsortedr   intprm   rn   r   )rI   rJ   rK   rV   rc   s        r   test_searchsortedzSharedTests.test_searchsorted  sf   y4(((2-4u<>[((..[.99CC..&&C !!#a&)){{{{!!#a&w!77{{{{ !!#ac(++8QF"'222
#FH555!!#ac(!998QF"'222
#FH555 !!#&&||||||r   box)Nindexseriesc                D   |}|n0|dk    r|                      |          }nt          j        |          }|                    t	          |d                             }|dk    sJ |                    t	          |d                   d          }|dk    sJ |                    d |dd         D                       }t          j        ddgt
          j                  }t          j	        ||           t          j        t          t          j        d	|j        j         d
                    5  |                    d           d d d            n# 1 swxY w Y   |dk    rd}n|dk    rd}nd}t          j        d|          5  t          j        t          t          j        d	|j        j         d| d                    5  |                    t	          |d                   dg           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   rP   ru   rq   r   rX   c                ,    g | ]}t          |          S r8   r   .0xs     r   
<listcomp>zBSharedTests.test_searchsorted_castable_strings.<locals>.<listcomp>:  s    "<"<"<a3q66"<"<"<r   r@   r   z/', 'NaT', or array of those. Got 'str' instead.rN   r   pythonStringArraypyarrowArrowStringArrayArrowStringArrayNumpySemanticsstring_storagez"', 'NaT', or array of those. Got 'z
' instead.baz)r<   r,   Seriesr   r   rF   r   r   rm   rn   rQ   rR   r   reescaper   r   option_context)rI   rL   r   r   rK   rV   rc   arr_types           r   "test_searchsorted_castable_stringsz.SharedTests.test_searchsorted_castable_strings'  s   ;G^^..%%CC )C..C !!#c!f++..{{{{!!#c!f++G!<<{{{{!!"<"<3qs8"<"<"<==8QF"'222
#FH555])8e&8&A 8 8 8 
 
 
 	$ 	$ U###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ X%%$HHy(()HH7H/@@ 	7 	7iD%*<*E D D/7D D D    7 7   #c!f++u!56667 7 7 7 7 7 7 7 7 7 7 7 7 7 7	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7sH   1EEE?H+G=1H=H	HH	HHHc                \   t          j        d t          dd          D             d          }| j        t          u r|                     |d          }n|                     |d          }|d	          t          j        |          }|d	          t          j        |          }|d	          d S )
Nc                ,    g | ]}t           j        |z   S r8   )r   _value)r   ns     r   r   zGSharedTests.test_getitem_near_implementation_bounds.<locals>.<listcomp>[  s    AAASZ!^AAAr   rP   r   r?   r@   z
period[ns]nsrE   r   )rF   asarrayrangerH   r   r,   Indexr   )rI   i8valsrK   r   sers        r   'test_getitem_near_implementation_boundsz3SharedTests.test_getitem_near_implementation_boundsX  s     AAU1a[[AAANNN>[((..|.<<CC..d.33CAainnAr   c                    t          |          |j        d d t          j        f         |j                  }|d d t          j        f         }t          j        ||           |} t          |          |j        d ddf         |j                  }|d ddf         }t          j        ||           |d         }|d         }||k    sJ d S )Nr@   rX   r   )r   r   r   )r   r   rF   newaxisrA   rm   r   )rI   rL   rc   rV   arr2ds        r   test_getitem_2dzSharedTests.test_getitem_2dh  s    4;;u~aaam<EKPPPqqq"*}%
))) 4;;u~bqb!e4EKHHHrr1u
))) u9!!!!!!r   c                \   |j         d dt          j        f         }t          |                              ||j                  }t          |          }t          |          dk    sJ |D ]@}t          |t          |                    sJ |j	        dk    sJ |j        |j        k    sJ Ad S )NrX   r@   rP   )
r   rF   r   r   r|   rA   listlenr   ndim)rI   rL   data2dr   rV   r   s         r   test_iter_2dzSharedTests.test_iter_2dy  s    BJ/U''ek'BBe6{{a 	* 	*Aae-----6Q;;;;7ek)))))	* 	*r   c           
     <   |j         d dt          j        f         }t          |                              ||j                  }t          |          }t          |t                    rqdt          |          j	         d|d         
                                 d|d         
                                 d|d         
                                 d	|j         
}n:dt          |          j	         d|d          d|d          d|d          d	|j         
}||k    sJ d S )
NrX   r@   <z>
[
['r   z'],
['rP   ru   z']
]
Shape: (3, 1), dtype: )r   rF   r   r   r|   rA   reprr   r   r   
_repr_base)rI   rL   r   r   rV   rc   s         r   test_repr_2dzSharedTests.test_repr_2d  sb   BJ/U''ek'BBee^,, 	7DKK( 7 71X((**7 7 1X((**7 7 1X((**	7 7 */7 7 H7DKK( 7 71X7 7 1X7 7 1X	7 7 */7 7  !!!!!!r   c                   t          j        dd          dz  dz  dz  }| j        t          u r|                     |d          }n|                     |d	          }|d
         |d<   t          j        dd          dz  dz  dz  }|d
         |d<   t	          j        |j        |           |dd          |d d<   |dd          |d d<   t	          j        |j        |           d S )Nr>   r?   r@   rB   rC   rD   rv   r   rE   rP   r   ru   )rF   rG   rH   r   rm   rn   asi8rI   rJ   rK   rc   s       r   test_setitemzSharedTests.test_setitem  s    y4(((2-4u<>[((..[.99CC..C.00CQA9Rt,,,r1D85@qk
#CHh777bcc(BQB}!
#CHh77777r   c                   |                                 d d d         }|j        j        dv r|                    d           }|}|t          u rt	          |          }n|t
          j        u r-t          j        |                    t                              }nQ|t          u r% |t          j
        |t                              }n# ||                              t                    }||d d <   t          j        ||           d S )Nr   )mr   r@   )copyrA   kind
_with_freqr   rF   r   r   r   r   r   rm   r   )rI   r   rL   rc   valss        r   test_setitem_object_dtypez%SharedTests.test_setitem_object_dtype  s     ::<<"%>*,,**400H$;;::DDBH__8DKK//00DD'''3rz$f55566DD3t99##F++Daaa
x(((((r   c                   |                                 }|dd          |ddg<   |                                 }d |dd          D             |d d<   t          j        ||           |                                 }|d         |d<   |                                 }t          |d                   |d<   t          j        ||           d S )Nr   r   rP   c                ,    g | ]}t          |          S r8   r   r   s     r   r   z1SharedTests.test_setitem_strs.<locals>.<listcomp>  s    111c!ff111r   ru   r   )r   rm   r   r   )rI   rL   rc   rV   s       r   test_setitem_strszSharedTests.test_setitem_strs  s     ::<< :!Q11eBCCj111rr

))) ::<<Bib	NNq	
)))))r   c                2   |                                 d d d         }t          |t                    s|                    d           }t	          j        |          }|rt	          j        |          }|d d d         |d d <   t          j        ||           d S )Nr   )	r   r   r   r   r,   r`   ri   rm   r   )rI   rL   rf   rc   cats        r   test_setitem_categoricalz$SharedTests.test_setitem_categorical  s    ::<<"%(K00 	1**400HnU## 	+%c**Cttt9aaa
x(((((r   c                .   |d d         }|d         }t          j        t          d          5  ||d<   d d d            n# 1 swxY w Y   t          j        t          d          5  t	                      |d<   d d d            n# 1 swxY w Y   d}t          j        t
          |          5  |d         g|g <   d d d            n# 1 swxY w Y   d	}t          j        t
          |          5  |d d
         |dd<   d d d            d S # 1 swxY w Y   d S )Nr>   r   zindex 12 is out of boundsrN   r   zvalue should be a.* 'object'z<cannot set using a list-like indexer with a different lengthrP   z=cannot set using a slice indexer with a different length thanrX   )rQ   rR   
IndexErrorr   r   rS   )rI   rL   rK   valr   s        r   test_setitem_raiseszSharedTests.test_setitem_raises  s   CRCj!f]:-HIII 	 	CG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9,JKKK 	 	XXCF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 M]:S111 	 	1vhCG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 N]:S111 	 	2A2wC!H	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sG   A  AA&BBB,CC	C	-D

DDc                <   d|j         j         d}t          j        t          |          5   |ddg          |d d<   d d d            n# 1 swxY w Y   t          j        t          |          5   |ddg          |d d<   d d d            d S # 1 swxY w Y   d S )	Nr   z ', 'NaT', or array of those. GotrN   r   rP   ru   g        g      ?)r   r   rQ   rR   r   )rI   rL   r   r   s       r   test_setitem_numeric_raisesz'SharedTests.test_setitem_numeric_raises  s<   
,%"4"= , , , 	 ]9C000 	$ 	$QFE"1"I	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ ]9C000 	( 	(S#JE"1"I	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s#   AAA1BBBc                   t          j        dd          dz  dz  dz  }| j        t          u r|                     |d          }n|                     |d	          }|t	          j        d
          z   }|t	          j        d
          z  }t          j        ||           |t	          j        d
          z
  }|t	          j        d
          z  }t          j        ||           d S )Nr>   r?   r@   rB   rC   rD   rv   r   rE   rP   days)rF   rG   rH   r   r,   	Timedeltarm   r   r   s       r   test_inplace_arithmeticz#SharedTests.test_inplace_arithmetic  s    y4(((2-4u<>[((..[.99CC..C.00C1----r|####
X&&&1----r|####
X&&&&&r   c                    t          j        t          d          5  |                    dd           d d d            d S # 1 swxY w Y   d S )Nzvalue should be arN   rP   )r   )rQ   rR   r   shiftr   s     r   test_shift_fill_int_deprecatedz*SharedTests.test_shift_fill_int_deprecated"  s    ]9,?@@@ 	) 	)KKaK(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   AAAc                   |}t          |          dz  dk    r
|d d         }|t          |          dz           }|                                }t          |          t          |          u sJ ||k    sJ t          |t          |          dz  <   t	          |t
                    sB|t          |          dz  dz
  t          |          dz  dz                                            }|                    d          t          u sJ |                                }t          |          t          |          u sJ ||k    sJ |d d                                         t          u sJ |d d                             d          t          u sJ |                    dd          }|                    d           }t          |          t          |          u sJ ||k    sJ |                    d d          t          u sJ |                    d          }t          |                              |g|j	        	          }t          j        ||           |                    dd          }t          |                              t          g|j	        	          }t          j        ||           |                    d          }t          j        ||           |                    dd          }t          j        ||           d S )
Nru   r   r   rP   F)skipna)axis)r  r  r@   )r   medianr   r   r   r   meanreshape_from_sequencerA   rm   r   )rI   rL   rK   rc   rV   r   	expected2s          r   test_medianzSharedTests.test_median'  s   s88a<1crc(Cs3xx1}%F||tH~~----!!!! CHHM(F++ 	I3s88q=1,s3xx1}q/@@AFFHHHzzz''3....F||tH~~----!!!!2A2w~~3&&&&2A2w~~U~++s2222 {{2q!!$''F||tH~~----!!!!{{U{33s::::!$$II,,hZsy,II	
	***!E22II,,cU#),DD	
	***!$$
$$$!E22
$$$$$r   c                   t          j        g dt           j                  }|                     || j                  }t          j        |d          }|                     || j                  }t          j        ||           d S )NrP   ru   rX   r@   Int64)rF   r   int64rH   example_dtyper,   rm   assert_extension_array_equal)rI   rK   rc   rJ   rV   s        r   test_from_integer_arrayz#SharedTests.test_from_integer_arrayW  sy    hyyy111>>#T-?>@@x7+++D,>??
'99999r   N)3r   
__module____qualname____annotations__rQ   fixturerL   rU   markparametrizer,   r1   timedelta_ranger-   rd   rs   r   r   timer   r   r*   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rF   r   r   r   r   r   r  r  r	  r  r  r  r!  r8   r   r   r;   r;   U   s        AAAA^  ^   [BM&!,,,BM&!666Bx333BOHac:::		
 + + +
 [Yu66[Z$776 6 87 766B@ @ @, [\AsIIdAq"4M4M4R+STTG G UTG
      [B C C C
@ 
@ 
@
' 
' 
'* * *
" " "* * *
 [Xz':;;  <;   8 [U$=$=$=>>.7 .7 ?>.7`   " " ""* * *" " ":8 8 8" [HIH	
	 	) )	 	)(* * *& [Z$77) ) 87)  ( [UT28RXry$IJJ( ( KJ(' ' ' ) ) )
.% .% .%`: : : : :r   r;   c                  |   e Zd ZeZeZeZdZ	e
j        d             Zd Zd Zd Zd Zd Zd Zd	 Zd
 Ze
j                            d          d             Zd Ze
j                            dej                  d             Ze
j                            dej                  d             Zd Zd Zd Z d Z!d Z"dS )TestDatetimeArrayM8[ns]c                H    |}t          j        dd||          }|j        }|S )zc
        Fixture returning DatetimeArray with parametrized frequency and
        timezones
        z2016-01-01 01:01:00r   r&   r'   r[   )r,   r1   _data)rI   tz_naive_fixturer   r[   r2   dtas         r   rL   zTestDatetimeArray.arr1dg  s.     m117rRRRi
r   c                x   |                      |          }|                    d          }|t          j        d          z
  }|                    d           }t          j        ||           |j        }|                    d          }|j                            d           }t          j        ||           d S )N2TrE   rP   )minutes)	r<   roundr,   r  r   rm   r~   r/  assert_datetime_array_equal)rI   rL   r2   rV   rc   r1  s         r   
test_roundzTestDatetimeArray.test_roundr  s    nnU##%%a0000&&t,,
fh///i%%>,,T22
&vx88888r   c                `   t          |          }t          j        |          }|j        }||u sJ t	          j        ||           t          j        |d          }||u sJ t	          j        ||           t          j        |d          }|j        }||u sJ t	          j        ||           t          j        |dd          }||u sJ t	          j        ||           t          j        |d          }||usJ t	          j        ||           t          j        |t                    }t          j        t          |          t                    }t	          j        ||           t          j        |d          }||j	        usJ t          j
        ||          rJ |j	                                        }t	          j        ||           dt          fD ]T}t          j        ||          }t          j        |                              |          }t	          j        ||           Ud S )NFr   datetime64[ns]r@   rA   r   r  float64)r   rF   r   r   rm   rn   r   r   r   r   may_share_memoryr   r   r   )rI   r3   rK   rV   rc   rA   s         r   test_array_interfacez&TestDatetimeArray.test_array_interface  sC   N++ C<!!!!
#FH555#E***!!!!
#FH555 C'7888<!!!!
#FH555#%5EBBB!!!!
#FH555#%5666X%%%%
#FH555 Cv...8DIIV444
#FH555 Cw///SX%%%%&sF333338==??
#FH555  % 	: 	:EZ5111Fz#--e44H'9999	: 	:r   c                6   |}|                      |          }t          j        t          |                    }t          j        |t                    }t          j        ||           t          j        |t                    }t          j        ||           d S Nr@   )r<   rF   r   r   r   rm   rn   rI   rL   rK   r2   rc   rV   s         r   test_array_object_dtypez)TestDatetimeArray.test_array_object_dtype  s    nnU##8DII&&#V,,,
#FH555 #V,,,
#FH55555r   c                   |}|                      |          }|j                            d          }t          j        |d          }t          j        ||           t          j        |d          }t          j        ||           t          j        |dd          }|j        |j        u sJ |j        J t          j        |dd          }|j        |j        u sJ |j        J d S )Nr,  r@   r:  Fr;  )r<   r   viewrF   r   rm   rn   baserA  s         r   test_array_tzzTestDatetimeArray.test_array_tz  s    nnU##8==**#X...
#FH555#%5666
#FH555 #XE:::{hm++++{&&&#%5EBBB{hm++++{&&&&&r   c                b   |}|                      |          }|j        }t          j        |d          }t	          j        ||           t          j        |t          j                  }t	          j        ||           t          j        |dd          }|j        |j        usJ |j        J d S )Nr?   r@   Fr;  )r<   r   rF   r   rm   rn   r  rE  rA  s         r   test_array_i8_dtypez%TestDatetimeArray.test_array_i8_dtype  s    nnU##8#T***
#FH555#RX...
#FH555 #T666{(-////{"""""r   c                    t          j        ddgd          }t          |          }|j        |u sJ t          |d d                   }|j        j        |u sJ d S )Nr"   z
2000-01-02r,  r@   r   )rF   r   r   r   rE  )rI   rK   r1  s      r   test_from_array_keeps_basez,TestDatetimeArray.test_from_array_keeps_base  sl    hl38DDDC  |s""""CG$$| C''''''r   c                   |}|                      |          }t          |          t          |          k    sJ t          j        |          }t	          |t
                    sJ t          |          t          |          k    sJ d S r_   )r<   r   r,   r   r   r   )rI   rL   rK   r2   dti2s        r   test_from_dtizTestDatetimeArray.test_from_dti  s}    nnU##CyyDII%%%% x}}$.....DzzT#YY&&&&&&r   c                    |}|                      |          }|                    d          }t          |t          j                  sJ |j        dk    sJ t          |          t          |          k    sJ d S NOr<   r   r   rF   ndarrayrA   r   )rI   rL   rK   r2   asobjs        r   test_astype_objectz$TestDatetimeArray.test_astype_object  su    nnU##

3%,,,,,{c!!!!E{{d3ii''''''r   3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                    |}t          |          }|                    |          }|                    |          }t          |t                    sJ t	          j        ||j                   d S )NrE   )r   	to_periodr   r   rm   r   r/  )rI   r3   r   r2   rK   rc   rV   s          r   test_to_periodz TestDatetimeArray.test_to_period  sj    C  ==g=..G,,&+.....
/////r   c                P   |                     dd          }|j        d nt          }t          j        |          5  |                    d          }|                    d                               dd          }d d d            n# 1 swxY w Y   t          j        ||           d S )NrP   r   r   )r  r[   UserWarningrm   assert_produces_warningrW  assert_period_array_equal)rI   rL   r   warnrV   rc   s         r   test_to_period_2dz#TestDatetimeArray.test_to_period_2d  s    a$$x'tt['-- 	; 	;__S))Fs++33Ar::H	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	$VX66666s   ?BB
B
propnamec                    |                      |          }|}|j        |j        k    sJ t          ||          }t          j        t          ||          |j                  }t          j        ||           d S r@  )r<   r'   getattrrF   r   rA   rm   rn   rI   rL   r_  r2   rK   rV   rc   s          r   test_bool_propertiesz&TestDatetimeArray.test_bool_properties  sw     nnU##x38####h''8GC22&,GGG
#FH55555r   c                    |                      |          }|}t          ||          }t          j        t          ||          |j                  }t          j        ||           d S r@  )r<   ra  rF   r   rA   rm   rn   rb  s          r   test_int_propertiesz%TestDatetimeArray.test_int_properties  s`    nnU##h''8GC22&,GGG
#FH55555r   c                   |}|                      |          }|                    |j                  }|                    ddgd|          }|d         |k    sJ d|j        j         d}t          j        t          |          5  |                    ddgd||z
             d d d            n# 1 swxY w Y   t          j        t          |          5  |                    ddgdt          d	                     d d d            n# 1 swxY w Y   |j        d nd
}|                    |          }d}t          j        t          |          5  |                    ddgd|           d d d            n# 1 swxY w Y   t          j        }	d|j        j         d}t          j        t          |          5  |                    ddgd|	           d d d            n# 1 swxY w Y   t          j        dd          }	t          j        t          |          5  |                    ddgd|	           d d d            n# 1 swxY w Y   |j        }|                    d          }	|                    ddgd|	          }|                    ddgd|	                    |j        j                            }
t!          j        ||
           d S d S )Nr   rP   Tr   r   r   r   rN   2014Q1z
US/Easternz:Cannot compare tz-naive and tz-aware datetime-like objectsr   r   zAustralia/Melbourne)r<   tz_localizer[   r}   r   r   rQ   rR   r   r   r   r   rF   timedelta64
tz_convertrA   rm   r   )rI   rL   fixed_now_tsrK   r2   nowrV   r   r[   valuerc   s              r   test_take_fill_validz&TestDatetimeArray.test_take_fill_valid"  sS   nnU##&&sv..2q'dsCCayCPE$6$?PPP]9C000 	E 	EHHb!W#)HDDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E ]9C000 	L 	LHHb!W&:J:JHKKK	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L V'TT\&&r**J]9C000 	? 	?HHb!W#H>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 
PE$6$?PPP]9C000 	A 	AHHb!W%H@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A ud++]9C000 	A 	AHHb!W%H@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 6 !,,-BCCEXXr1g$5XIIFxxQ ++CIL99    H
 OFH----- sZ   B//B36B3(D		DDE88E<?E<:G!!G%(G%II
Ic                   |}|j         |                    d          }n|                    d           }t          j        t          d          5  |                    ||g           d d d            d S # 1 swxY w Y   d S )NrZ   zto_concat must have the samerN   )r[   rh  rQ   rR   rS   r   )rI   rL   rK   ro   s       r   test_concat_same_type_invalidz/TestDatetimeArray.test_concat_same_type_invalidR  s    6>OOE**EEOOD))E]:-KLLL 	0 	0!!3,///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0s   A55A9<A9c                \   t          t          j        dddd                    }t          t          j        dddd                    }t          j        ||g          }t          t          j        g d                              d                    }t          j        ||           d S )N2000ru   r   z
US/Centralr.  H)2000-01-01 00:00:00z2000-01-02 00:00:00rt  z2000-01-01 01:00:00)r   r,   r1   r   to_datetimerh  rm   r6  )rI   abrV   rc   s        r   $test_concat_same_type_different_freqz6TestDatetimeArray.test_concat_same_type_different_freq^  s    "-UUUVV"-UUUVV0!Q88 N    k,''	
 	
 	&vx88888r   c                    |}|                     d          }t          j        d |D             t                    }t	          j        ||           d S )N%Y %bc                8    g | ]}|                     d           S )rz  strftime)r   tss     r   r   z3TestDatetimeArray.test_strftime.<locals>.<listcomp>t  s$    @@@bR[[11@@@r   r@   r}  rF   r   r   rm   rn   rI   rL   rK   rV   rc   s        r   test_strftimezTestDatetimeArray.test_strftimep  sT    g&&8@@C@@@OOO
#FH55555r   c                    t          t          dt          g                    }|                    d          }t	          j        dt          j        gt                    }t          j	        ||           d S )N
2019-01-01%Y-%m-%dr@   )
r   r   r   r}  rF   r   r   r   rm   rn   rI   rK   rV   rc   s       r   test_strftime_natz#TestDatetimeArray.test_strftime_natw  sa    M<*=>>??j))8\262&AAA
#FH55555r   N)#r   r"  r#  r   r<   r   rH   r   r   r  rQ   r%  rL   r7  r>  rB  rF  rH  rJ  rM  rT  r&  r*   rX  r^  r'  	_bool_opsrc  
_field_opsre  rn  rp  rx  r  r  r8   r   r   r+  r+  a  s       IIKM^  ^9 9 9(: (: (:T6 6 6' ' '(# # # ( ( (' ' '( ( ( [ VWW0 0 XW07 7 7 [Z)@AA	6 	6 BA	6 [Z)ABB6 6 CB6.. .. ..`
0 
0 
09 9 9$6 6 66 6 6 6 6r   r+  c                      e Zd ZeZeZej        Z	dZ
d Zd Zd Zd Zej                            dej                  d             Zd Zd	 Zd
S )TestTimedeltaArraym8[ns]c                $   t          ddg          }t          |          }t          |          t          |          k    sJ t          j        |          }t          |t                     sJ t          |          t          |          k    sJ d S )Nr6   r7   )r
   r   r   r,   r   r   )rI   tdirK   tdi2s       r   test_from_tdiz TestTimedeltaArray.test_from_tdi  s    gy122S!!CyyDII%%%% x}}$/////DzzT#YY&&&&&&r   c                   t          ddg          }t          |          }|                    d          }t          |t          j                  sJ |j        dk    sJ t          |          t          |          k    sJ d S )Nr6   r7   rP  )r
   r   r   r   rF   rR  rA   r   )rI   r  rK   rS  s       r   rT  z%TestTimedeltaArray.test_astype_object  s~    gy122S!!

3%,,,,,{c!!!!E{{d3ii''''''r   c                    |}t          |          }|                                }|                                }t          j        ||           d S r_   )r   to_pytimedeltarm   rn   rI   r9   r  rK   rc   rV   s         r   test_to_pytimedeltaz&TestTimedeltaArray.test_to_pytimedelta  sO    S!!%%''##%%
#FH55555r   c                    |}t          |          }|                                }|                                }t          j        ||j                   d S r_   )r   total_secondsrm   rn   valuesr  s         r   test_total_secondsz%TestTimedeltaArray.test_total_seconds  sQ    S!!$$&&""$$
#FHO<<<<<r   r_  c                    |}t          |          }t          ||          }t          j        t          ||          |j                  }t          j        ||           d S r@  )r   ra  rF   r   rA   rm   rn   )rI   r9   r_  r  rK   rV   rc   s          r   re  z&TestTimedeltaArray.test_int_properties  s\    S!!h''8GC22&,GGG
#FH55555r   c                `   t          |          }t          j        |          }|j        }||u sJ t	          j        ||           t          j        |d          }||u sJ t	          j        ||           t          j        |d          }|j        }||u sJ t	          j        ||           t          j        |dd          }||u sJ t	          j        ||           t          j        |d          }||usJ t	          j        ||           t          j        |t                    }t          j        t          |          t                    }t	          j        ||           t          j        |d          }||j	        usJ t          j
        ||          rJ |j	                                        }t	          j        ||           dt          fD ]T}t          j        ||          }t          j        |                              |          }t	          j        ||           Ud S )NFr9  ztimedelta64[ns]r@   r;  r  r<  )r   rF   r   r   rm   rn   r   r   r   r   r=  r   r   r   )rI   r9   rK   rV   rc   rA   s         r   r>  z'TestTimedeltaArray.test_array_interface  sC   _-- C<!!!!
#FH555#E***!!!!
#FH555 C'8999<!!!!
#FH555#%6UCCC!!!!
#FH555#%6777X%%%%
#FH555 Cv...8DIIV444
#FH555 Cw///SX%%%%&sF333338==??
#FH555  % 	: 	:EZ5111Fz#--e44H'9999	: 	:r   c                   |}t          |          }t          j        d          }|                    ddgd|          }|d         |k    sJ |}d|j        j         d}t          j        t          |	          5  |                    ddgd|           d d d            n# 1 swxY w Y   |	                    d
          }t          j        t          |	          5  |                    ddgd|           d d d            n# 1 swxY w Y   t          j        dd          }t          j        t          |	          5  |                    ddgd|           d d d            d S # 1 swxY w Y   d S )NrP   r  r   Tr   r   r   r   rN   r   r   r   )r   r,   r  r}   r   r   rQ   rR   r   rW  rF   
datetime64)	rI   r9   rk  r  rK   td1rV   rm  r   s	            r   rn  z'TestTimedeltaArray.test_take_fill_valid  sp   S!!l"""2q'dsCCayCNC$4$=NNN]9C000 	@ 	@HHaVH???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ &&s++]9C000 	@ 	@HHaVH???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ eT**]9C000 	A 	AHHb!W%H@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	As6   <B##B'*B'DD	D	 E((E,/E,N)r   r"  r#  r
   r<   r   rH   r,   r  r   r  r  rT  r  r  rQ   r&  r'  r  re  r>  rn  r8   r   r   r  r    s        II,KM' ' '( ( (6 6 6= = = [Z)BCC6 6 DC6(: (: (:TA A A A Ar   r  r   rU  c                  ~   e Zd ZeZeZeZ eg d          j	        Z
ej        d             Zd Zd Zd Zej                            ddd	g          d
             Zd Zd Zej                            dej                  d             Zej                            dej                  d             Zd Zd Zd ZdS )TestPeriodArrayr   rE   c                    |j         S )zW
        Fixture returning DatetimeArray from parametrized PeriodIndex objects
        )r/  )rI   r/   s     r   rL   zTestPeriodArray.arr1d  s    
 !!r   c                   |                      |          }|}t          |          t          |          k    sJ t          j        |          }t	          |t
                    sJ t          |          t          |          k    sJ d S r_   )r<   r   r,   r   r   r	   )rI   rL   r.   rK   pi2s        r   test_from_pizTestPeriodArray.test_from_pi  s}    ^^E""CyyDHH$$$$ hsmm#{+++++CyyDII%%%%%%r   c                    |                      |          }|}|                    d          }t          |t          j                  sJ |j        dk    sJ t          |          t          |          k    sJ d S rO  rQ  )rI   rL   r.   rK   rS  s        r   rT  z"TestPeriodArray.test_astype_object  su    ^^E""

3%,,,,,{c!!!!E{{d2hh&&&&&&r   c                   |}t           j        }d|j        j         d}t	          j        t          |          5  |                    ddgd|           d d d            n# 1 swxY w Y   t          j	        dd	          }t	          j        t          |          5  |                    ddgd|           d d d            d S # 1 swxY w Y   d S )
Nr   r   rN   r   rP   Tr   r   r   )
r   r   r   r   rQ   rR   r   r}   rF   ri  )rI   rL   rK   rm  r   s        r   rn  z$TestPeriodArray.test_take_fill_valid  sw   
PE$6$?PPP]9C000 	A 	AHHb!W%H@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A ud++]9C000 	A 	AHHb!W%H@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	As#   A!!A%(A%CCChowSEc                    |                      |          }|}t          |                    |                    }|                    |          }t          |t                    sJ t	          j        ||           d S )N)r  )r<   r   to_timestampr   rm   r   )rI   r  rL   r.   rK   rc   rV   s          r   test_to_timestampz!TestPeriodArray.test_to_timestamp&  sw    ^^E"" S!9!9::!!c!**&-00000
)))))r   c                   t          j        ddd          j        }|                                }|                                }|j        dk    sJ t          j        ||           |d d d         }|                                }|                                }|j        dk    sJ t          j        ||           |                    d          }|                                }|j        dk    sJ t          j        ||           d S )Nz
2021-10-18rX   r   r]   ru   2B)r,   r1   r/  rW  r  r'   rm   r   )	rI   r1  parrrV   dta2parr2result2parr3result3s	            r    test_to_timestamp_roundtrip_bdayz0TestPeriodArray.test_to_timestamp_roundtrip_bday1  s   mL!#>>>D}}""$${c!!!!
'44433Q3x  $$&&|t####
'666d##$$&&|s""""
'55555r   c                `   t          j        ddd          }d}t          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t          j        t          |          5  |j                                         d d d            d S # 1 swxY w Y   d S )N1500r   rX   )r'   r&   z7Out of bounds nanosecond timestamp: 1500-01-01 00:00:00rN   )r,   r-   rQ   rR   r   r  r/  )rI   r.   r   s      r   test_to_timestamp_out_of_boundsz/TestPeriodArray.test_to_timestamp_out_of_boundsD  s(   _V#q999G].c::: 	 	OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ].c::: 	$ 	$H!!###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s#   AAA<B##B'*B'r_  c                    |                      |          }|}t          ||          }t          j        t          ||                    }t	          j        ||           d S r_   r<   ra  rF   r   rm   rn   rI   rL   r_  r.   rK   rV   rc   s          r   rc  z$TestPeriodArray.test_bool_propertiesN  s[     ^^E""h''8GB1122
#FH55555r   c                    |                      |          }|}t          ||          }t          j        t          ||                    }t	          j        ||           d S r_   r  r  s          r   re  z#TestPeriodArray.test_int_propertiesY  sY    ^^E""h''8GB1122
#FH55555r   c                   |}t          j        |          }t          j        t          |          t                    }t          j        ||           t          j        |t                    }t          j        ||           t          j        |d          }t          j        ||j                   d}t          j	        t          |          5  t          j        |d           d d d            n# 1 swxY w Y   t          j        |d          }t          j        |                              d          }t          j        ||           d S )Nr@   r  zEfloat\(\) argument must be a string or a( real)? number, not 'Period'rN   r<  S20)rF   r   r   r   r   rm   rn   r   rQ   rR   r   r   )rI   rL   rK   rV   rc   r   s         r   r>  z$TestPeriodArray.test_array_interfacec  sf    C8DIIV444
#FH555 Cv...
#FH555Cw///
#FCH555 W]9C000 	- 	-Js),,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- Cu---:c??))%00
#FH55555s   C44C8;C8c                    |}|                     d          }t          j        d |D             t                    }t	          j        ||           d S )N%Yc                8    g | ]}|                     d           S )r  r|  )r   pers     r   r   z1TestPeriodArray.test_strftime.<locals>.<listcomp>  s$    ???CS\\$//???r   r@   r  r  s        r   r  zTestPeriodArray.test_strftime{  sT    d##8??3???vNNN
#FH55555r   c                    t          t          dt          gd                    }|                    d          }t	          j        dt          j        gt                    }t          j	        ||           d S )Nr  rv   r@   r  )
r   r	   r   r}  rF   r   r   r   rm   rn   r  s       r   r  z!TestPeriodArray.test_strftime_nat  sf    +|S&9MMMNNj))8\262&AAA
#FH55555r   N)r   r"  r#  r	   r<   r   rH   r   r   rA   r  rQ   r%  rL   r  rT  rn  r&  r'  r  r  r  r  rc  r  re  r>  r  r  r8   r   r   r  r    sh        IIKK---3M^" " ^"& & &' ' 'A A A [US#J//* * 0/*6 6 6&$ $ $ [Z)>??6 6 @?6 [Z)?@@6 6 A@66 6 606 6 66 6 6 6 6r   r  zarr,casting_natsr5   r   r   r"   rX   r   r]   c                *    t          |           j        S r_   r   r   r   s    r   <lambda>r        $q''" r   )idsc                    t          |                               t          | d         | d         g          }|D ]0}|                                 } || d<   t	          j        | |           1d S )NrP   ru   r   )r   r  r   r   rm   r   )rK   casting_natsrc   nats       r   test_casting_nat_setitem_arrayr    sp      Cyy''c!fc!f(=>>H ' 'hhjjA
X&&&&' 'r   zarr,non_casting_natsc                *    t          |           j        S r_   r  r  s    r   r  r    r  r   c                    d}|D ]:}t          j        t          |          5  || d<   d d d            n# 1 swxY w Y   ;d S )Nzwvalue should be a '(Timestamp|Timedelta|Period)', 'NaT', or array of those. Got '(timedelta64|datetime64|int)' instead.rN   r   )rQ   rR   r   )rK   non_casting_natsr   r  s       r   test_invalid_nat_setitem_arrayr    s    (	6 
    ]9C000 	 	CF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s   48	8	rK   rr  rw   rY   c                j   t           | d<   |                                 }|                                 }t          j        |d                   sJ |                     d          }|d         dk    sJ |                     dd          }|d         dk    sJ |                     | d                                                   }|d         |d         k    sJ |                     | d                             d	                    }|d         |d         k    sJ t          j        | |           d S )
Nr   r  r@   l         )rA   na_valuerP   )r  Fr9  )r   r   to_numpyrF   isnanrm   r   )rK   originalrV   s      r   test_to_numpy_extrar    s     CFxxzzH\\^^F8F1I\\\((F!9,,,,,\\!\44F!9>>>>\\3q6??#4#4\55F!9q	!!!!\\3q6???#>#>\??F!9q	!!!!OC"""""r   rf   TFr  z
2020-01-01z
2020-02-01rP   ru   )unitrE   klassc                    |s| j         } |                      ||                     }t          j        ddg|j                  }t          j        ||           d S )Nr   rP   r@   )r/  r   rF   r   rA   rm   rn   )r  r  rf   rV   rc   s        r   ,test_searchsorted_datetimelike_with_listliker    sa    .    v//FxAfl333H11111r   argrv  rw  zEurope/London)r[   c                    d}t          j        t          |          5  |                     |           d d d            d S # 1 swxY w Y   d S )Nz [Unexpected type|Cannot compare]rN   )rQ   rR   r   r   )r  r  r   s      r   :test_searchsorted_datetimelike_with_listlike_invalid_dtyper    s     -C	y	,	,	, ! !C   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !r   c                    ddgdz  } | |          }t          |d          }t          d |D                       }t          j        ||           d S )Nr\   2020Q2ru   r   rE   c                ,    g | ]}t          |          S r8   )r   )r   ss     r   r   z?test_period_index_construction_from_strings.<locals>.<listcomp>  s    777!F1II777r   )r	   rm   r~   )r  stringsrJ   rV   rc   s        r   +test_period_index_construction_from_stringsr    sg     "Q&G5>>DC(((F77w77788H&(+++++r   rA   r,  r  c                   t          j        g d|           }t          |          }t          t          d|          } ||          } ||          }t          j        ||           |                    |          }|                    |          }t          j        ||           t          t          d|          } ||          d         } ||          d         }t          j
        ||           t          j        t          j        d|          } ||          j        } ||          j        }t          j
        ||           t          t          d|          } ||          } ||          }t          j        ||           d S )Nr  r@   )r,  r  r   )rF   r   r   r   r   rm   r   r  r   r   r   r,   ru  to_timedeltar   r
   r~   )rA   rJ   rK   clsrV   rc   funcidx_clss           r   test_from_pandas_arrayr    sv    8IIIU+++D
d
#
#C"n
=
=e
DCSXXFs4yyH#FH555$$F!!$''H#FH555)5GHHODT#YYq\FtDzz!}HOFH%%%n@@GDT#YY_FtDzzHOFH%%% '.AA%HGWS\\Fwt}}H&(+++++r   )?
__future__r   r   r(   numpyrF   rQ   pandas._libsr   r   r   pandasr,   r   r   r	   r
   pandas._testing_testingrm   pandas.core.arraysr   r   r   r   pandas.core.arrays.datetimesr   pandas.core.arrays.timedeltasr   r%  r   r/   r3   r9   r;   r+  r  r&  r*   r  r'  r/  ri  r1   r  r-   r  r   r  r   r(  r  ru  r   r   r   r`   ri   r  r  tupler  r  r8   r   r   <module>r     s   " " " " " " 				                                                = < < < < < < < < < < < 555666  76
   $ 
 
 
 7 7 7I: I: I: I: I: I: I: I:X\6 \6 \6 \6 \6 \6 \6 \6~tA tA tA tA tA tA tA tAn WXXRSSO6 O6 O6 O6 O6k O6 O6 TS YXO6d  N66677=.".--.	

 BM,<<<B-"-t,,-	
 
qs	;	;	;	AC6J
 	#"   ' ' '  N66677=R]5$''4	

 BM,<<<BR^E4((#*5	

 BOL!#>>>DR]5$''t)D)DcjQ	
 	#"!   $ % $ 	fa(((.61---3 # # #, dE]33l3441vC(((\<0s;;;  


	


 2 2   43*2 l3441vC(((\<0s;;;  	QFS#J<O!L!L!L MPQ QR ! !  ! 4")"DEE, , FE, 8X"677, , 87, , ,r   