
    PiϷ                    R	   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	 d dl
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j0        ff ej,        ddd           j*         ej+        dd          ej0        ff ej.        ddd           j*         ej-        dd           ej+        dd          ej0        ffgd% "          d&             Z1ej&        )                    d' ej,        d(d)*          j2         ej3        d(d)*          j2        g          d+             Z4ej&        )                    d' ej,        d(d)*          j2         ej3        d(d)*          j2        g          d,             Z5ej&        )                    d-d.d/g          ej&        )                    d0 ej6        d1d2g           ej7        d3d4gd5           ed1d2gd6          g          ej&        )                    d7e8ej9        ej9        ej:        ej;        ej<        ej=        g          d8                                     Z>ej&        )                    d0 ej6        d1d2g           ej7        d3d4gd5           ed1d2gd6          g          ej&        )                    d9d3d4gd:d;g e	d1d<=          gd4z  g          d>                         Z?ej&        )                    d7e8e@ej9        ej:        g          d?             ZAej&        )                    d@dAdBg          dC             ZBdS )D    )annotationsN)NaT	Timestamp)	to_offset)np_version_gt2)PeriodDtype)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    y/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/arrays/test_datetimelike.pyfreqstrr   #   s     =    c                   t          j                    5  t          j        ddt                     t	          t          |                     j        } 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   r   _freqstrpdperiod_ranger   )r   pis     r   period_indexr/   )   s     
	 	"	" W W5	
 	
 	
 	
 i0011:_9\#:#:CgVVVW W W W W W W W W W W W W W W Is   A"BB	Bc                P    t          j        t          d          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#   ns)r$   r%   r&   unit)r,   
date_ranger   )r   dtis     r   datetime_indexr5   =   s2     -%%st  C 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;   M   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#d2 Z$ej        	                    d*e
j%        e
j&        e'j(        e)e*g          d3             Z+d4 Z,ej        	                    dddg          d5             Z-d6 Z.ej        	                    d*e)e'j(        e
j%        e
j&        g          d7             Z/d8 Z0d9 Z1d: Z2d; Z3d<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.arr1d\   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match   r   )r>   pytestraises
ValueError)rL   rO   rN   idxs       r   test_compare_len1_raisesz$SharedTests.test_compare_len1_raisesf   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)rL   rY   expecteds      r   test_compare_with_Categoricalz)SharedTests.test_compare_with_Categoricals   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)orderedrB   )	r,   rd   CategoricalIndexrH   onesshapebooltmassert_numpy_array_equal)rL   rO   rj   ri   rl   otherleftrightrn   zerosrY   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#   rA   rB   rD   rE   rF      	period[D])rS      ^   )rH   rI   randomdefault_rngshufflerJ   r   r>   rK   _simple_newtakerq   assert_index_equalarray)rL   rM   rN   rW   takersrY   rg   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_valuery   g       @i  rS      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'. GotrQ   r   rS   T
allow_fillr   )_scalar_type__name__rT   rU   	TypeErrorr   )rL   r   rO   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 )NrS   Tr   r   )r   r   rH   nan)rL   rO   rN   rY   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   rS   Tr   r   r   rQ   foo)	r   strrq   assert_equalr   r   rT   rU   r   rL   rO   rY   rg   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   rS   )
r>   insertr   _concat_same_typeastypeobjectrH   concatenaterq   r   )rL   rO   rN   rW   rY   arr2rg   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 .rQ   r   )_unbox_scalar_ndarrayrC   type
isinstancer   scalar_typer   rT   rU   rV   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   rS   )_check_compatible_withr   rL   rO   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   )rL   rO   rY   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 operation 'not a method'rQ   znot a method)rT   rU   r   _reduce)rL   rO   r   s      r   test_reduce_invalidzSharedTests.test_reduce_invalid   s    9]9C000 	* 	*MM.)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*   AAAmethodpadbackfillc                   t          j        dd          dz  dz  dz  }| j        t          u r|                     |d          }n@| j        t          u rdnd	}| j                            |t          j        |                    }t          |d
<   |dk    r|d         n|d         }|                    |          }|d
         |k    sJ |d
         t          u sJ d S )Nr@   rA   rB   rD   rE   rF   rz   M8[ns]m8[ns]r{   r   r[      )r   )	rH   rI   rJ   r   r   _from_sequencerC   r   _pad_or_backfill)rL   r   rM   rN   rC   r   rY   s          r   %test_fillna_method_doesnt_change_origz1SharedTests.test_fillna_method_doesnt_change_orig   s    y4(((2-4u<>[((..[.99CC $- ? ?HHXE.//BHUOO/LLCA%SVVCF
%%V%44ayJ&&&& 1v}}}}}}r   c                8   t          j        dd          dz  dz  dz  }| j        t          u r|                     |d          }n@| j        t          u rdnd	}| j                            |t          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@   rA   rB   rD   rE   rF   rz   r   r   rS   ry   ru   sider[   )rH   rI   rJ   r   r   r   rC   searchsortedr   intprq   rr   r   )rL   rM   rN   rC   rY   rg   s         r   test_searchsortedzSharedTests.test_searchsorted  s   y4(((2-4u<>[((..[.99CC $- ? ?HHXE.//BHUOO/LLC !!#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                J   |}|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	|j        j         d          }|s|                    dd          }t          j        d|          5  t          j        t          |          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   rS   ry   ru   r   r[   c                ,    g | ]}t          |          S r:   r   .0xs     r   
<listcomp>zBSharedTests.test_searchsorted_castable_strings.<locals>.<listcomp>C  s    "<"<"<a3q66"<"<"<r   rB   r   z/', 'NaT', or array of those. Got 'str' instead.rQ   r   z3', 'NaT', or array of those. Got str array instead.r   stringstring_storagebaz)r>   r,   Seriesr   r   rH   r   r   rq   rr   rT   rU   r   reescaper   r   replaceoption_context)	rL   rO   r   r   using_infer_stringrN   rY   rg   r   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###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ i8%"4"= 8 8 8
 
 " 	/++eX..C/@@ 	7 	7   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	+H 4H H	HH	H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 r:   )r   _value)r   ns     r   r   zGSharedTests.test_getitem_near_implementation_bounds.<locals>.<listcomp>`  s    AAASZ!^AAAr   rS   r   rA   rB   z
period[ns]r1   rG   r   )
rH   asarrayrangerJ   r   r>   rK   r,   Indexr   )rL   i8valsrN   r   sers        r   'test_getitem_near_implementation_boundsz3SharedTests.test_getitem_near_implementation_bounds]  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 )NrB   r[   r   )r   r   r   )r   r   r   rH   newaxisrC   rq   r   )rL   rO   rg   rY   arr2ds        r   test_getitem_2dzSharedTests.test_getitem_2dm  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 )Nr[   rB   rS   )
r   rH   r   r   r   rC   listlenr   ndim)rL   rO   data2dr   rY   r   s         r   test_iter_2dzSharedTests.test_iter_2d  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 )
Nr[   rB   <z>
[
['r   z'],
['rS   ry   z']
]
Shape: (3, 1), dtype: )r   rH   r   r   r   rC   reprr   r   r   
_repr_base)rL   rO   r   r   rY   rg   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@   rA   rB   rD   rE   rF   rz   r   rG   rS   r   ry   )	rH   rI   rJ   r   r>   rK   rq   rr   asi8rL   rM   rN   rg   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                    t           gt          |          z  |d d <   |                                                                sJ d S rc   )r   r   isnare   r   s     r   test_setitem_list_of_natsz%SharedTests.test_setitem_list_of_nats  sB    53u::%aaazz||!!!!!!!r   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MrB   )copyrC   kind
_with_freqr   rH   r   r   r   r   r   rq   r   )rL   r   rO   rg   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   rS   c                ,    g | ]}t          |          S r:   r   r   s     r   r   z1SharedTests.test_setitem_strs.<locals>.<listcomp>  s    111c!ff111r   ry   r   )r   rq   r   r   )rL   rO   rg   rY   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,   rd   rm   rq   r   )rL   rO   rj   rg   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 boundsrQ   r   zvalue should be a.* 'object'z<cannot set using a list-like indexer with a different lengthrS   z=cannot set using a slice indexer with a different length thanr[   )rT   rU   
IndexErrorr   r   rV   )rL   rO   rN   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. GotrQ   r   rS   ry   g        g      ?)r   r   rT   rU   r   )rL   rO   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@   rA   rB   rD   rE   rF   rz   r   rG   rS   days)
rH   rI   rJ   r   r>   rK   r,   	Timedeltarq   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 arQ   rS   )r   )rT   rU   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 )
Nry   r   r   rS   F)skipna)axis)r  r  rB   )r   medianr   r   r   r
   meanreshaper   rC   rq   r   )rL   rO   rN   rg   rY   r   	expected2s          r   test_medianzSharedTests.test_median3  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rS   ry   r[   rB   Int64)
rH   r   int64r,   rJ   r   example_dtyper   rq   assert_extension_array_equal)rL   rN   rM   rg   rY   s        r   test_from_integer_arrayz#SharedTests.test_from_integer_arrayc  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)4r   
__module____qualname____annotations__rT   fixturerO   rX   markparametrizer,   r3   timedelta_ranger-   rh   rw   r   r   timer   r   r)   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rH   r   r   r   r  r  r
  r  r  r  r  r   r'  r:   r   r   r=   r=   Y   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':;;  <;"  : [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 )TestDatetimeArrayr   c                J    |}t          j        dd||d          }|j        }|S )zc
        Fixture returning DatetimeArray with parametrized frequency and
        timezones
        z2016-01-01 01:01:00r   r1   r%   r&   r^   r2   )r,   r3   rK   )rL   tz_naive_fixturer   r^   r4   dtas         r   rO   zTestDatetimeArray.arr1dv  s8     m!17r
 
 
 i
r   c                x   |                      |          }|                    d          }|t          j        d          z
  }|                    d           }t          j        ||           |j        }|                    d          }|j                            d           }t          j        ||           d S )N2minrG   rS   )minutes)	r>   roundr,   r  r  rq   r   rK   assert_datetime_array_equal)rL   rO   r4   rY   rg   r5  s         r   
test_roundzTestDatetimeArray.test_round  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]rB   rC   r   r$  float64rK   r   rH   r   r   rq   rr   r   r   r   r   may_share_memoryr   r   r   )rL   r5   rN   
copy_falserY   rg   rC   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 NrB   )r>   rH   r   r   r   rq   rr   )rL   rO   rN   r4   rg   rY   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                   |}|                      |d          }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=  r   rB   r>  r?  )	r>   r   r   viewrH   r   rq   rr   baserL   rO   rN   r4   rC  rg   rY   s          r   test_array_tzzTestDatetimeArray.test_array_tz  s   nnUn//+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 )NFrA   rB   r?  )	r>   r   r   rH   r   rq   rr   r$  rJ  rK  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                  }|j        |u sJ t          j        |d d         |j                  }|j        j        |u sJ d S )Nr"   z
2000-01-02r   rB   r   )rH   r   r   r   rC   r   rJ  )rL   rN   r5  s      r   test_from_array_keeps_basez,TestDatetimeArray.test_from_array_keeps_base  s    hl38DDD*3ci@@@|s""""*3rr7#)DDD| C''''''r   c                   |}|                      |          }t          |          t          |          k    sJ t          j        |          }t	          |t
                    sJ t          |          t          |          k    sJ d S rc   )r>   r   r,   r   r   r	   )rL   rO   rN   r4   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   rH   ndarrayrC   r   )rL   rO   rN   r4   asobjs        r   test_astype_objectz$TestDatetimeArray.test_astype_object  su    nnU##

3%,,,,,{c!!!!E{{d3ii''''''r   3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                   |}|j         }t          t          |                    j        }|                    |          }|                    |          }t          |t                    sJ t          j        ||j                    d S )NrG   )	rK   r   r   r+   	to_periodr   r   rq   r   )rL   r5   r   r4   rN   rg   rY   s          r   test_to_periodz TestDatetimeArray.test_to_period  s|    ii0011:==g=..G,,&+.....
/////r   c                T   |                     dd          }|j        d nt          }t          j        |d          5  |                    d          }|                    d                               dd          }d d d            n# 1 swxY w Y   t          j        ||           d S )NrS   r   zwill drop timezone informationrQ   r   )r  r^   UserWarningrq   assert_produces_warningr]  assert_period_array_equal)rL   rO   r   warnrY   rg   s         r   test_to_period_2dz#TestDatetimeArray.test_to_period_2d  s    a$$x'tt['4TUUU 	; 	;__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 rF  )r>   r&   getattrrH   r   rC   rq   rr   rL   rO   re  r4   rN   rY   rg   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 rF  )r>   rg  rH   r   rC   rq   rr   rh  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   rS   Tr   r   r   r   rQ   2014Q1z
US/Easternz:Cannot compare tz-naive and tz-aware datetime-like objectsr   r1   zAustralia/Melbourne)r>   tz_localizer^   r   r   r   rT   rU   r   r
   r   r   rH   timedelta64
tz_convertrC   rq   r   )rL   rO   fixed_now_tsrN   r4   nowrY   r   r^   valuerg   s              r   test_take_fill_validz&TestDatetimeArray.test_take_fill_valid9  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 samerQ   )r^   rn  rT   rU   rV   r   )rL   rO   rN   rs   s       r   test_concat_same_type_invalidz/TestDatetimeArray.test_concat_same_type_invalidi  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2000ry   r   z
US/Centralr3  h)2000-01-01 00:00:00z2000-01-02 00:00:00rz  z2000-01-01 01:00:00)
r,   r3   rK   r   r   to_datetimern  as_unitrq   r:  )rL   r2   abrY   rg   s         r   $test_concat_same_type_different_freqz6TestDatetimeArray.test_concat_same_type_different_frequ  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 )r  strftime)r   tss     r   r   z3TestDatetimeArray.test_strftime.<locals>.<listcomp>  s$    @@@bR[[11@@@r   rB   na_value	r  rH   r   r   r,   StringDtyper   rq   r   rL   rO   r   rN   rY   rg   s         r   test_strftimezTestDatetimeArray.test_strftime  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-%drB   r  )r	   r   rK   r  rH   r   r   r   r,   r  rq   r   rL   r   rN   rY   rg   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   rJ   r   r   r%  rT   r+  rO   r;  rD  rG  rL  rN  rP  rS  rZ  r,  r)   r^  rd  r-  	_bool_opsri  
_field_opsrk  rt  rv  r  r  r  r:   r   r   r1  r1  p  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   r1  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 )TestTimedeltaArrayr   c                   t          ddg          }|j        }t          |          t          |          k    sJ t          j        |          }t          |t                     sJ t          |          t          |          k    sJ d S )Nr8   r9   )r   rK   r   r,   r   r   )rL   tdirN   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 )Nr8   r9   rV  )r   rK   r   r   rH   rX  rC   r   )rL   r  rN   rY  s       r   rZ  z%TestTimedeltaArray.test_astype_object  sx    gy122i

3%,,,,,{c!!!!E{{d3ii''''''r   c                    |}|j         }|                                }|                                }t          j        ||           d S rc   )rK   to_pytimedeltarq   rr   rL   r;   r  rN   rg   rY   s         r   test_to_pytimedeltaz&TestTimedeltaArray.test_to_pytimedelta  sI    i%%''##%%
#FH55555r   c                    |}|j         }|                                }|                                }t          j        ||j                   d S rc   )rK   total_secondsrq   rr   valuesr  s         r   test_total_secondsz%TestTimedeltaArray.test_total_seconds  sK    i$$&&""$$
#FHO<<<<<r   re  c                    |}|j         }t          ||          }t          j        t          ||          |j                  }t          j        ||           d S rF  )rK   rg  rH   r   rC   rq   rr   )rL   r;   re  r  rN   rY   rg   s          r   rk  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 )NFr=  ztimedelta64[us]rB   r?  r$  r@  rA  )rL   r;   rN   rC  rY   rg   rC   s          r   rD  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 )NrS   r  r   Tr   r   r   r   rQ   r   r   r1   )rK   r,   r  r   r   r   rT   rU   r   r]  rH   
datetime64)	rL   r;   rq  r  rN   td1rY   rs  r   s	            r   rt  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   rJ   r,   r  r   r%  r  rZ  r  r  rT   r,  r-  r  rk  rD  rt  r:   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   r[  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   rG   c                    |j         S )zW
        Fixture returning DatetimeArray from parametrized PeriodIndex objects
        )rK   )rL   r/   s     r   rO   zTestPeriodArray.arr1d   s    
 !!r   c                   |                      |          }|}t          |          t          |          k    sJ t          j        |          }t	          |t
                    sJ t          |          t          |          k    sJ d S rc   )r>   r   r,   r   r   r   )rL   rO   r.   rN   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 rU  rW  )rL   rO   r.   rN   rY  s        r   rZ  z"TestPeriodArray.test_astype_object1  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   rQ   r   rS   Tr   r   r1   )
r   r   r   r   rT   rU   r   r   rH   ro  )rL   rO   rN   rs  r   s        r   rt  z$TestPeriodArray.test_take_fill_valid9  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_timestamprK   r   r   rq   r   )rL   r  rO   r.   rN   rg   rY   s          r   test_to_timestampz!TestPeriodArray.test_to_timestampG  sz    ^^E"" S!9!9::@!!c!**&-00000
)))))r   c                   t          j        dddd          j        }|                                }|                                }|j        dk    sJ t          j        ||                    d                     |d d d         }|                                }|                                }|j        dk    sJ t          j        ||                    d                     |                    d          }|                                }|j        dk    sJ t          j        ||                    d                     d S )	Nz
2021-10-18r[   r   r1   )r%   r&   r2   usry   2B)	r,   r3   rK   r]  r  r&   rq   r&  r|  )	rL   r5  parrrY   dta2parr2result2parr3result3s	            r    test_to_timestamp_roundtrip_bdayz0TestPeriodArray.test_to_timestamp_roundtrip_bdayR  s(   mL!#DIIIO}}""$${c!!!!
'D0A0ABBB33Q3x  $$&&|t####
'd1C1CDDDd##$$&&|s""""
'T1B1BCCCCCr   c                    t          j        ddd          }|                                 |j                                        }|d         t	          ddd          k    sJ d S )N1500Yr[   )r&   r%   r   i  rS   )r,   r-   r  rK   r   )rL   r.   r5  s      r   test_to_timestamp_out_of_boundsz/TestPeriodArray.test_to_timestamp_out_of_boundse  sb    _V#q999
h##%%1v4A........r   re  c                    |                      |          }|}t          ||          }t          j        t          ||                    }t	          j        ||           d S rc   r>   rg  rH   r   rq   rr   rL   rO   re  r.   rN   rY   rg   s          r   ri  z$TestPeriodArray.test_bool_propertiesl  s[     ^^E""h''8GB1122
#FH55555r   c                    |                      |          }|}t          ||          }t          j        t          ||                    }t	          j        ||           d S rc   r  r  s          r   rk  z#TestPeriodArray.test_int_propertiesw  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 )	NrB   r$  Tr?  zEfloat\(\) argument must be a string or a( real)? number, not 'Period'rQ   r@  S20)rH   r   r   r   r   rq   rr   r   rB  rT   rU   r   r   )	rL   rO   rN   rY   rg   r  result_copy1result_copy2r   s	            r   rD  z$TestPeriodArray.test_array_interface  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   rB   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  rz   rB   r  r  )r   r   r   r  rH   r   r   r   r,   r  rq   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   rJ   r
   r   rC   r%  rT   r+  rO   r  rZ  rt  r,  r-  r  r  r  r  ri  r  rk  rD  r  r  r:   r   r   r  r    sl        IIKK---3M^" " ^"& & &' ' 'A A A [US#J//* * 0/*D D D&/ / / [Z)>??6 6 @?6 [Z)?@@6 6 A@66 6 6@* * ** * * * *r   r  zarr,casting_natsr7   r   r1   r"   r[   r   ra   c                *    t          |           j        S rc   r   r   r   s    r   <lambda>r        $q''" r   )idsc                    t          |                               t          | d         | d         g| j                  }|D ]0}|                                 } || d<   t          j        | |           1d S )NrS   ry   rB   r   )r   r   r   rC   r   rq   r   )rN   casting_natsrg   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 rc   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.rQ   r   )rT   rU   r   )rN   non_casting_natsr   r  s       r   test_invalid_nat_setitem_arrayr    s    (	6 
    ]9C000 	 	CF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s   48	8	rN   rx  r{   r\   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$  rB   l         )rC   r  rS   r  Fr=  )r   r   to_numpyrH   isnanrq   r   rN   originalrY   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   c                   t           | d<   |                                 }d| _        |                     t                    }|j        j        sJ |                     d          }|j        j        sJ t          j        | |           d S )Nr   TrB   r$  )	r   r   	_readonlyr  r   flags	writeablerq   r   r  s      r   test_to_numpy_extra_readonlyr    s     CFxxzzHCM\\\''F<!!!! \\\((F<!!!!OC"""""r   rj   TFr  z
2020-01-01z
2020-02-01rS   ry   )r2   rG   klassc                    |s| j         } |                      ||                     }t          j        ddg|j                  }t          j        ||           d S )Nr   rS   rB   )rK   r   rH   r   rC   rq   rr   )r  r  rj   rY   rg   s        r   ,test_searchsorted_datetimelike_with_listliker    sa    .    v//FxAfl333H11111r   argr}  r~  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]rQ   )rT   rU   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_   2020Q2ry   r`   rG   c                ,    g | ]}t          |          S r:   )r
   )r   ss     r   r   z?test_period_index_construction_from_strings.<locals>.<listcomp>U  s    777!F1II777r   )r   rq   r   )r  stringsrM   rY   rg   s        r   +test_period_index_construction_from_stringsr  O  sg     "Q&G5>>DC(((F77w77788H&(+++++r   rC   r   r   c                ,   t          j        g d|           }t          |          }t          t          d|          }|                    ||           }|                    ||           }t          j        ||           t          j	        t          j
        d|          } ||          j        } ||          j        }t          j        ||           t          t          d|          } ||          } ||          }t          j        ||           d S )Nr"  rB   )r   r   )rH   r   r   r   r   r   rq   r&  r,   r{  to_timedeltar   r	   r   r   )rC   rM   rN   clsrY   rg   funcidx_clss           r   test_from_pandas_arrayr  Y  s    8IIIU+++D
d
#
#C"n
=
=e
DC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&(+++++r   )C
__future__r   r   r'   numpyrH   rT   pandas._libsr   r   pandas._libs.tslibsr   pandas.compat.numpyr   pandas.core.dtypes.dtypesr   pandasr,   r	   r
   r   r   pandas._testing_testingrq   pandas.core.arraysr   r   r   r   r+  r   r/   r5   r;   r=   r1  r  r,  r)   r  r-  rK   ro  r3   r  r-   r  r   r  _valuesr.  r  r  r{  r  r   r   r   r   rd   rm   r  r  tupler  r  r:   r   r   <module>r     s   " " " " " " 				              * ) ) ) ) ) . . . . . . 1 1 1 1 1 1                                 888999  :9
   &    7 7 7T: T: T: T: T: T: T: T:nk* k* k* k* k* k* k* k*\	wA wA wA wA wA wA wA wAt WXXRSSX* X* X* X* X*k X* X* TS YXX*v  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(((061---5 # # #, 	fa(((061---5 # # # 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   