
    bMh                       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mZ d dl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  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j5        d1d2gd3           ed/d0gd4          g          ej%        (                    d5e6ej1        ej1        ej7        ej8        ej9        ej:        g          d6                                     Z;ej%        (                    d. ej4        d/d0g           ej5        d1d2gd3           ed/d0gd4          g          ej%        (                    d7d1d2gd8d9g e
d/d:;          gd2z  g          d<                         Z<ej%        (                    d5e6e=ej1        ej7        g          d=             Z>ej%        (                    d>d?d@g          dA             Z?dS )B    )annotationsN)NaTOutOfBoundsDatetime	Timestamp)freq_to_period_freqstr)np_version_gt2)DatetimeIndexPeriodPeriodIndexTimedeltaIndex)DatetimeArrayNumpyExtensionArrayPeriodArrayTimedeltaArray)DBWMEQEYE)paramsc                    | j         S )z:Fixture returning parametrized frequency in string format.)param)requests    e/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/arrays/test_datetimelike.pyfreqstrr   "   s     =    c                    t          j                    5  t          j        ddt                     t	          d|           } 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FutureWarningr   pdperiod_ranger   )r   pis     r   period_indexr0   (   s     
	 	"	" W W5	
 	
 	
 	
 )G44_9\#:#:CgVVVW W W W W W W W W W W W W W W Is   AA11A58A5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_indexr4   <   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_indexr:   J   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                    t          j        dd          dz  dz  dz  }| j        t          u r|                     |d          }n|                     |d          j        }|S )	z5Fixture returning DatetimeArray with daily frequency.
   i8dtype      ʚ;r   r(   )nparange	array_clsr   r=   _data)selfdataarrs      r   arr1dzSharedTests.arr1dY   sh     y4(((2-4u<>[((..C.00CC..C.006C
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matchr"   r   )r=   pytestraises
ValueError)rK   rN   rM   idxs       r   test_compare_len1_raisesz$SharedTests.test_compare_len1_raisesc   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2020Q1Qr'   r(   c                    t          j        |          }t          ||k              sJ t          ||k              rJ d S N)r-   Categoricalallany)rK   rW   expecteds      r   test_compare_with_Categoricalz)SharedTests.test_compare_with_Categoricalp   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)orderedrA   )	r-   rb   CategoricalIndexrG   onesshapebooltmassert_numpy_array_equal)rK   rN   rh   rg   rj   otherleftrightrl   zerosrW   s              r   test_compare_categorical_dtypez*SharedTests.test_compare_categorical_dtype~   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        }| j        	                    |          }g d	}|
                    |          }|
                    |          }t          j        |                     |          |           t          j        g d	          }|
                    |          }|
                    |          }t          j        |                     |          |           d S )
Nr$   r@   rA   rC   rD   rE      	period[D])r"      ^   )rG   rH   randomdefault_rngshufflerI   r   r=   rJ   _simple_newtakero   assert_index_equalarray)rK   rL   rM   rU   takersrW   re   s          r   	test_takezSharedTests.test_take   s7   yD)))B.5=
	a  ((...>[((d+666CC..&&,Cn((--&!!88F##
dnnV44h???***%%&!!88F##
dnnV44h?????r   
fill_valuerw   g       @i  r"      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'. GotrP   r   r"   T
allow_fillr   )_scalar_type__name__rR   rS   	TypeErrorr   )rK   r   rN   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                *   |}|                     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"   Tr   r   )r   r   rG   nan)rK   rN   rM   rW   s       r   test_take_fillzSharedTests.test_take_fill   s    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   r"   Tr   r   r   rP   foo)	r   strro   assert_equalr   r   rR   rS   r   rK   rN   rW   re   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                    }t          j	        |                      |          |           d S )Nr   r   r"   )
r=   insertr   _concat_same_typeastypeobjectrG   concatenatero   r   )rK   rN   rM   rU   rW   arr2re   s          r   test_concat_same_typez!SharedTests.test_concat_same_type   s    nnS!!jjC  &&CRC#abb'3'?@@zz&!!>>".$ss)T!""Xt1L"M"MNN
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 .rP   r   )_unbox_scalar_ndarrayrB   type
isinstancer   scalar_typer   rR   rS   rT   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   r"   )_check_compatible_withr   rK   rN   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   )rK   rN   rW   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'rP   znot a method)rR   rS   r   _reduce)rK   rN   r   s      r   test_reduce_invalidzSharedTests.test_reduce_invalid   s    9]9C000 	* 	*MM.)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*   AAAmethodpadbackfillc                n   t          j        dd          dz  dz  dz  }| j        t          u r|                     |d          }n| j                            |          }t
          |d<   |d	k    r|d
         n|d         }|                    |          }|d         |k    sJ |d         t
          u sJ d S )Nr?   r@   rA   rC   rD   rE   rx   ry   r   rY      )r   )rG   rH   rI   r   _from_sequencer   _pad_or_backfill)rK   r   rL   rM   r   rW   s         r   %test_fillna_method_doesnt_change_origz1SharedTests.test_fillna_method_doesnt_change_orig   s    y4(((2-4u<>[((..[.99CC.//55C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| j                            |          }|                    |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@   rA   rC   rD   rE   rx   r"   rw   rs   siderY   )rG   rH   rI   r   r   searchsortedr   intpro   rp   r   )rK   rL   rM   rW   re   s        r   test_searchsortedzSharedTests.test_searchsorted  sj   y4(((2-4u<>[((..[.99CC.//55C !!#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           	        |}|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   t          j        d|          5  t          j        t          t          j        d	|j        j         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   r"   rw   rs   r   rY   c                ,    g | ]}t          |          S r9   r   .0xs     r   
<listcomp>zBSharedTests.test_searchsorted_castable_strings.<locals>.<listcomp><  s    "<"<"<a3q66"<"<"<r   rA   r   z/', 'NaT', or array of those. Got 'str' instead.rP   r   string_storagez6', 'NaT', or array of those. Got string array instead.baz)r=   r-   Seriesr   r   rG   r   r   ro   rp   rR   rS   r   reescaper   r   option_context)rK   rN   r   r   rM   rW   re   s          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###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ /@@ 	7 	7iC%*<*E C C C    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3<G>/+G&G>&G*	*G>-G*	.G>>HHc                f   t          j        d t          dd          D             d          }| j        t          u r|                     |d          }n|                     |d          j        }|d	          t          j        |          }|d	          t          j	        |          }|d	          d S )
Nc                ,    g | ]}t           j        |z   S r9   )r   _value)r   ns     r   r   zGSharedTests.test_getitem_near_implementation_bounds.<locals>.<listcomp>V  s    AAASZ!^AAAr   r"   r   r@   rA   z
period[ns]nsrF   r   )
rG   asarrayrangerI   r   r=   rJ   r-   Indexr   )rK   i8valsrM   r   sers        r   'test_getitem_near_implementation_boundsz3SharedTests.test_getitem_near_implementation_boundsS  s     AAU1a[[AAANNN>[((..|.<<CC..d.339C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 )NrA   rY   r   )r   r   r   )r   r~   r   rG   newaxisrB   ro   r   )rK   rN   re   rW   arr2ds        r   test_getitem_2dzSharedTests.test_getitem_2dc  s    ;;**N111bj=) + 
 
 qqq"*}%
))) ;;**5>"1"a%+@*TT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 )NrY   rA   r"   )
r   rG   r   r   r~   rB   listlenr   ndim)rK   rN   data2dr   rW   r   s         r   test_iter_2dzSharedTests.test_iter_2dv  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 )
NrY   rA   <z>
[
['r   z'],
['r"   rw   z']
]
Shape: (3, 1), dtype: )r   rG   r   r   r~   rB   reprr   r   r   
_repr_base)rK   rN   r   r   rW   re   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	          j        }|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@   rA   rC   rD   rE   rx   r   rF   r"   r   rw   )	rG   rH   rI   r   r=   rJ   ro   rp   asi8rK   rL   rM   re   s       r   test_setitemzSharedTests.test_setitem  s    y4(((2-4u<>[((..[.99CC..C.006C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   )mMrA   )copyrB   kind
_with_freqr   rG   r   r   r   r   r   ro   r   )rK   r   rN   re   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   r"   c                ,    g | ]}t          |          S r9   r   r   s     r   r   z1SharedTests.test_setitem_strs.<locals>.<listcomp>  s    111c!ff111r   rw   r   )r   ro   r   r   )rK   rN   re   rW   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-   rb   rk   ro   r   )rK   rN   rh   re   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 boundsrP   r   zvalue should be a.* 'object'z<cannot set using a list-like indexer with a different lengthr"   z=cannot set using a slice indexer with a different length thanrY   )rR   rS   
IndexErrorr   r   rT   )rK   rN   rM   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. GotrP   r   r"   rw   g        g      ?)r   r   rR   rS   r   )rK   rN   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	          j        }|t          j        d
          z   }|t          j        d
          z  }t          j	        ||           |t          j        d
          z
  }|t          j        d
          z  }t          j	        ||           d S )Nr?   r@   rA   rC   rD   rE   rx   r   rF   r"   days)
rG   rH   rI   r   r=   rJ   r-   	Timedeltaro   r   r   s       r   test_inplace_arithmeticz#SharedTests.test_inplace_arithmetic  s    y4(((2-4u<>[((..[.99CC..C.006C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 arP   r"   )r   )rR   rS   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 )
Nrw   r   r   r"   F)skipna)axis)r  r  rA   )r   medianr   r   r   r
   meanreshaper   rB   ro   r   )rK   rN   rM   re   rW   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                  }t          j        |d          }| j        t
          u r9|                     || j                  }|                     || j                  }nB| j                            || j                  }| j                            || j                  }t          j	        ||           d S )Nr"   rw   rY   rA   Int64)
rG   r   int64r-   rI   r   example_dtyper   ro   assert_extension_array_equal)rK   rM   rL   re   rW   s        r   test_from_integer_arrayz#SharedTests.test_from_integer_arrayT  s    hyyy111x7+++>[((~~c1C~DDH^^D0B^CCFF~44S@R4SSH^224t?Q2RRF
'99999r   N)3r   
__module____qualname____annotations__rR   fixturerN   rV   markparametrizer-   r2   timedelta_ranger.   rf   ru   r   r   timer   r   r+   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rG   r   r   r   r   r   r  r  r  r  r  r  r  r9   r   r   r<   r<   V   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 ?>'7R   " " "&* * *" " ":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-   r2   rJ   )rK   tz_naive_fixturer   r\   r3   dtas         r   rN   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2minrF   r"   )minutes)	r=   roundr-   r  r   ro   r   rJ   assert_datetime_array_equal)rK   rN   r3   rW   re   r,  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   |j         }t          rd nd}t          j        |          }|j        }||u sJ t          j        ||           t          j        ||          }||u sJ t          j        ||           t          j        |d          }|j        }||u sJ t          j        ||           t          j        |d|          }||u sJ t          j        ||           t          j        |d          }t          s||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]rA   rB   r   r  float64rJ   r   rG   r   r   ro   rp   r   r   r   r   may_share_memoryr   r   r   )rK   r4   rM   
copy_falserW   re   rB   s          r   test_array_interfacez&TestDatetimeArray.test_array_interface  sT   "+6TT
 C<!!!!
#FH555#J///!!!!
#FH555 C'7888<!!!!
#FH555#%5JGGG!!!!
#FH555#%5666 	*))))
#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 NrA   )r=   rG   r   r   r   ro   rp   )rK   rN   rM   r3   re   rW   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                   |}|                      |          }t          rd nd}|j                            d          }t	          j        |d          }t          j        ||           t	          j        |d          }t          j        ||           t	          j        |d|          }|j        |j        u sJ |j        J t	          j        |d|          }|j        |j        u sJ |j        J d S )NFr)  rA   r5  r6  )	r=   r   r   viewrG   r   ro   rp   baserK   rN   rM   r3   r:  re   rW   s          r   test_array_tzzTestDatetimeArray.test_array_tz  s   nnU##+6TT
8==**#X...
#FH555#%5666
#FH555 #XJ???{hm++++{&&&#%5JGGG{hm++++{&&&&&r   c                x   |}|                      |          }t          rd nd}|j        }t          j        |d          }t          j        ||           t          j        |t          j                  }t          j        ||           t          j        |d|          }|j        |j        usJ |j        J d S )NFr@   rA   r6  )	r=   r   r   rG   r   ro   rp   r  rA  rB  s          r   test_array_i8_dtypez%TestDatetimeArray.test_array_i8_dtype  s    nnU##+6TT
8#T***
#FH555#RX...
#FH555 #T
;;;{(-////{"""""r   c                    t          j        ddgd          }t          j        |          }|j        |u sJ t          j        |d d                   }|j        j        |u sJ d S )Nr#   z
2000-01-02r)  rA   r   )rG   r   r   r   r   rA  )rK   rM   r,  s      r   test_from_array_keeps_basez,TestDatetimeArray.test_from_array_keeps_base  sr    hl38DDD*3//|s""""*3rr733| C''''''r   c                   |}|                      |          }t          |          t          |          k    sJ t          j        |          }t	          |t
                    sJ t          |          t          |          k    sJ d S ra   )r=   r   r-   r   r   r	   )rK   rN   rM   r3   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   rG   ndarrayrB   r   )rK   rN   rM   r3   asobjs        r   test_astype_objectz$TestDatetimeArray.test_astype_object  su    nnU##

3%,,,,,{c!!!!E{{d3ii''''''r   3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                    |}|j         }t          d|          }|                    |          }|                    |          }t          |t                    sJ t          j        ||j                    d S )Nr"   rF   )rJ   r   	to_periodr   r   ro   r   )rK   r4   r   r3   rM   re   rW   s          r   test_to_periodz TestDatetimeArray.test_to_period  ss    i(G44==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 )Nr"   r   r   )r  r\   UserWarningro   assert_produces_warningrT  assert_period_array_equal)rK   rN   r   warnrW   re   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(   getattrrG   r   rB   ro   rp   rK   rN   r\  r3   rM   rW   re   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=   r^  rG   r   rB   ro   rp   r_  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   r"   Tr   r   r   r   rP   2014Q1z
US/Easternz:Cannot compare tz-naive and tz-aware datetime-like objectsr   r   zAustralia/Melbourne)r=   tz_localizer\   r   r   r   rR   rS   r   r
   r   r   rG   timedelta64
tz_convertrB   ro   r   )rK   rN   fixed_now_tsrM   r3   nowrW   r   r\   valuere   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 )Nr[   zto_concat must have the samerP   )r\   re  rR   rS   rT   r   )rK   rN   rM   rq   s       r   test_concat_same_type_invalidz/TestDatetimeArray.test_concat_same_type_invalidX  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                V   t          j        dddd|          j        }t          j        dddd|          j        }t          j        ||g          }t          j        g d                              d                              |          j        }t          j	        ||           d S )N2000rw   r   z
US/Central)r'   r(   r\   unith)2000-01-01 00:00:00z2000-01-02 00:00:00rr  z2000-01-01 01:00:00)
r-   r2   rJ   r   r   to_datetimere  as_unitro   r1  )rK   rp  abrW   re   s         r   $test_concat_same_type_different_freqz6TestDatetimeArray.test_concat_same_type_different_freqd  s    M&!#,TRRRXM&!#,TRRRX0!Q88N    [&&WT]] 	 	&vx88888r   c                   |}|                     d          }t          j        d |D             t                    }|r3t	          j        |t	          j        t          j                            }t          j        ||           d S )N%Y %bc                8    g | ]}|                     d           S )ry  strftime)r   tss     r   r   z3TestDatetimeArray.test_strftime.<locals>.<listcomp>}  s$    @@@bR[[11@@@r   rA   na_value	r|  rG   r   r   r-   StringDtyper   ro   r   rK   rN   using_infer_stringrM   rW   re   s         r   test_strftimezTestDatetimeArray.test_strftimey  s    g&&8@@C@@@OOO 	Qx0O0O0OPPPH
)))))r   c                H   t          dt          g          j        }|                    d          }t	          j        dt          j        gt                    }|r3t          j        |t          j	        t          j                            }t          j        ||           d S )N
2019-01-01%Y-%m-%drA   r~  )r	   r   rJ   r|  rG   r   r   r   r-   r  ro   r   rK   r  rM   rW   re   s        r   test_strftime_natz#TestDatetimeArray.test_strftime_nat  s    \3/006j))8\262&AAA 	Qx0O0O0OPPPH
)))))r   N)#r   r  r   r	   r=   r   rI   r   r   r  rR   r"  rN   r2  r;  r>  rC  rE  rG  rJ  rQ  r#  r+   rU  r[  r$  	_bool_opsr`  
_field_opsrb  rk  rm  rw  r  r  r9   r   r   r(  r(  a  s       IIKM^  ^9 9 9+: +: +:Z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** * ** * * * *r   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          }|j        }t          |          t          |          k    sJ t          j        |          }t          |t                     sJ t          |          t          |          k    sJ d S )Nr7   r8   )r   rJ   r   r-   r   r   )rK   tdirM   tdi2s       r   test_from_tdiz TestTimedeltaArray.test_from_tdi  s    gy122iCyyDII%%%% x}}$/////DzzT#YY&&&&&&r   c                    t          ddg          }|j        }|                    d          }t          |t          j                  sJ |j        dk    sJ t          |          t          |          k    sJ d S )Nr7   r8   rM  )r   rJ   r   r   rG   rO  rB   r   )rK   r  rM   rP  s       r   rQ  z%TestTimedeltaArray.test_astype_object  sx    gy122i

3%,,,,,{c!!!!E{{d3ii''''''r   c                    |}|j         }|                                }|                                }t          j        ||           d S ra   )rJ   to_pytimedeltaro   rp   rK   r:   r  rM   re   rW   s         r   test_to_pytimedeltaz&TestTimedeltaArray.test_to_pytimedelta  sI    i%%''##%%
#FH55555r   c                    |}|j         }|                                }|                                }t          j        ||j                   d S ra   )rJ   total_secondsro   rp   valuesr  s         r   test_total_secondsz%TestTimedeltaArray.test_total_seconds  sK    i$$&&""$$
#FHO<<<<<r   r\  c                    |}|j         }t          ||          }t          j        t          ||          |j                  }t          j        ||           d S r=  )rJ   r^  rG   r   rB   ro   rp   )rK   r:   r\  r  rM   rW   re   s          r   rb  z&TestTimedeltaArray.test_int_properties  sV    ih''8GC22&,GGG
#FH55555r   c                t   |j         }t          rd nd}t          j        |          }|j        }||u sJ t          j        ||           t          j        ||          }||u sJ t          j        ||           t          j        |d          }|j        }||u sJ t          j        ||           t          j        |d|          }||u sJ t          j        ||           t          j        |d          }t          s||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 )NFr4  ztimedelta64[ns]rA   r6  r  r7  r8  )rK   r:   rM   r:  rW   re   rB   s          r   r;  z'TestTimedeltaArray.test_array_interface  sT   #+6TT
 C<!!!!
#FH555#J///!!!!
#FH555 C'8999<!!!!
#FH555#%6ZHHH!!!!
#FH555#%6777 	*))))
#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                   |}|j         }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 )Nr"   r	  r   Tr   r   r   r   rP   r   r   r   )rJ   r-   r  r   r   r   rR   rS   r   rT  rG   
datetime64)	rK   r:   rh  r  rM   td1rW   rj  r   s	            r   rk  z'TestTimedeltaArray.test_take_fill_valid  sj   i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   4BB"BC==DD8E  E$'E$N)r   r  r   r   r=   r   rI   r-   r  r   r  r  rQ  r  r  rR   r#  r$  r  rb  r;  rk  r9   r   r   r  r    s        II,KM' ' '( ( (6 6 6= = = [Z)BCC6 6 DC6+: +: +:ZA A A A Ar   r  r   rR  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   rF   c                    |j         S )zW
        Fixture returning DatetimeArray from parametrized PeriodIndex objects
        )rJ   )rK   r0   s     r   rN   zTestPeriodArray.arr1d  s    
 !!r   c                   |                      |          }|}t          |          t          |          k    sJ t          j        |          }t	          |t
                    sJ t          |          t          |          k    sJ d S ra   )r=   r   r-   r   r   r   )rK   rN   r/   rM   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 rL  rN  )rK   rN   r/   rM   rP  s        r   rQ  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   rP   r   r"   Tr   r   r   )
r   r   r   r   rR   rS   r   r   rG   rf  )rK   rN   rM   rj  r   s        r   rk  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          |                    |                    j        }|                    |          }t	          |t
                    sJ t          j        ||           d S )N)r  )r=   r	   to_timestamprJ   r   r   ro   r   )rK   r  rN   r/   rM   re   rW   s          r   test_to_timestampz!TestPeriodArray.test_to_timestamp6  sz    ^^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-18rY   r   r_   rw   2B)r-   r2   rJ   rT  r  r(   ro   r  )	rK   r,  parrrW   dta2parr2result2parr3result3s	            r    test_to_timestamp_roundtrip_bdayz0TestPeriodArray.test_to_timestamp_roundtrip_bdayA  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1500YrY   )r(   r'   z7Out of bounds nanosecond timestamp: 1500-01-01 00:00:00rP   )r-   r.   rR   rS   r   r  rJ   )rK   r/   r   s      r   test_to_timestamp_out_of_boundsz/TestPeriodArray.test_to_timestamp_out_of_boundsT  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 ra   r=   r^  rG   r   ro   rp   rK   rN   r\  r/   rM   rW   re   s          r   r`  z$TestPeriodArray.test_bool_properties^  s[     ^^E""h''8GB1122
#FH55555r   c                    |                      |          }|}t          ||          }t          j        t          ||                    }t	          j        ||           d S ra   r  r  s          r   rb  z#TestPeriodArray.test_int_propertiesi  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                   t          j        |d          }t          j        ||          sJ t          j        |dd          }t          j        |dd          }t          j        ||          r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 )	NrA   r  Tr6  zEfloat\(\) argument must be a string or a( real)? number, not 'Period'rP   r7  S20)rG   r   r   r   r   ro   rp   r   r9  rR   rS   r   r   )	rK   rN   rM   rW   re   r  result_copy1result_copy2r   s	            r   r;  z$TestPeriodArray.test_array_interfaces  s    C8DIIV444
#FH555 Cv...
#FH555 Cw///
#FCH555*S000"6733333x7>>>x7>>>&|\BBBBB W]9C000 	- 	-Js),,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- Cu---:c??))%00
#FH55555s   E&&E*-E*c                   |}|                     d          }t          j        d |D             t                    }|r3t	          j        |t	          j        t          j                            }t          j        ||           d S )N%Yc                8    g | ]}|                     d           S )r  r{  )r   pers     r   r   z1TestPeriodArray.test_strftime.<locals>.<listcomp>  s$    ???CS\\$//???r   rA   r~  r  r  s         r   r  zTestPeriodArray.test_strftime  s    d##8??3???vNNN 	Qx0O0O0OPPPH
)))))r   c                \   t          t          dt          gd                    }|                    d          }t	          j        dt          j        gt                    }|r3t          j        |t          j	        t          j                            }t          j        ||           d S )Nr  rx   rA   r  r~  )r   r   r   r|  rG   r   r   r   r-   r  ro   r   r  s        r   r  z!TestPeriodArray.test_strftime_nat  s    +|S&9MMMNNj))8\262&AAA 	Qx0O0O0OPPPH
)))))r   N)r   r  r   r   r=   r   rI   r
   r   rB   r  rR   r"  rN   r  rQ  rk  r#  r$  r  r  r  r  r`  r  rb  r;  r  r  r9   r   r   r  r    si        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 6@* * ** * * * *r   r  zarr,casting_natsr6   r   r   r#   rY   r   r_   c                *    t          |           j        S ra   r   r   r   s    r   <lambda>r        $q''" r   )idsc                    t          |                               t          | d         | d         g| j                  }|D ]0}|                                 } || d<   t          j        | |           1d S )Nr"   rw   rA   r   )r   r   r   rB   r   ro   r   )rM   casting_natsre   nats       r   test_casting_nat_setitem_arrayr    sw      Cyy''c!fc!f(=SY'OOH ' 'hhjjA
X&&&&' 'r   zarr,non_casting_natsc                *    t          |           j        S ra   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.rP   r   )rR   rS   r   )rM   non_casting_natsr   r  s       r   test_invalid_nat_setitem_arrayr    s    (	6 
    ]9C000 	 	CF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s   48	8	rM   ro  ry   rZ   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  rA   l         )rB   r  r"   r~  Fr4  )r   r   to_numpyrG   isnanro   r   )rM   originalrW   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   rh   TFr  z
2020-01-01z
2020-02-01r"   rw   )rp  rF   klassc                    |s| j         } |                      ||                     }t          j        ddg|j                  }t          j        ||           d S )Nr   r"   rA   )rJ   r   rG   r   rB   ro   rp   )r  r  rh   rW   re   s        r   ,test_searchsorted_datetimelike_with_listliker    sa    .    v//FxAfl333H11111r   argru  rv  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]rP   )rR   rS   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]   2020Q2rw   r^   rF   c                ,    g | ]}t          |          S r9   )r
   )r   ss     r   r   z?test_period_index_construction_from_strings.<locals>.<listcomp>1  s    777!F1II777r   )r   ro   r   )r  stringsrL   rW   re   s        r   +test_period_index_construction_from_stringsr  +  sg     "Q&G5>>DC(((F77w77788H&(+++++r   rB   r)  r  c                   t          j        g d|           }t          |          }t          t          d|          }|j         d}t          j        t          |          5   ||          } ||          }d d d            n# 1 swxY w Y   t          j	        ||           |
                    ||           }|
                    ||           }t          j	        ||           t          j        t          j        d|          } ||          j        } ||          j        }t          j        ||           t          t           d|          } ||          } ||          }t          j        ||           d S )Nr  rA   )r)  r  z.__init__ is deprecatedrP   )rG   r   r   r   r   r   ro   rX  r,   r  r   r-   rs  to_timedeltar   r	   r   r   )	rB   rL   rM   clsdepr_msgrW   re   funcidx_clss	            r   test_from_pandas_arrayr  5  s    8IIIU+++D
d
#
#C"n
=
=e
DC,777H		#M	B	B	B  S3t99               #FH555511F!!$e!44H#FH555n@@GDT#YY_FtDzzHOFH%%% '.AA%HGWS\\Fwt}}H&(+++++s   "BB	B	)@
__future__r   r   r)   numpyrG   rR   pandas._libsr   r   r   pandas._libs.tslibs.dtypesr   pandas.compat.numpyr   pandasr-   r	   r
   r   r   pandas._testing_testingro   pandas.core.arraysr   r   r   r   r"  r   r0   r4   r:   r<   r(  r  r#  r+   r  r$  rJ   rf  r2   r  r.   r  r   r  r   r%  r  rs  r  r   r   r   rb   rk   r  r  tupler  r  r9   r   r   <module>r     s    " " " " " " 				               
 > = = = = = . . . . . .                                 888999  :9
   & 
 
 
 7 7 7H: H: H: H: H: H: H: H:Vi* i* i* i* i* i* i* i*X	wA wA wA wA wA wA wA wAt WXXRSS[* [* [* [* [*k [* [* TS YX[*|  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AS)))\<0s;;;  


	


 2 2   43*2 l344AS)))\<0s;;;  	QFS#J<O!L!L!L MPQ QR ! !  ! 4")"DEE, , FE, 8X"677, , 87, , ,r   