
    d                    (	   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c mZ d dlZd dlmZmZmZmZ d dlmZ d dlmZmZmZmZ d dlmZ d dlm Z   ej!        g d	          d
             Z"ej!        d             Z#ej!        d             Z$ej!        d             Z% G d d          Z& G d de&          Z' G d de&          Z( 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j0        ddd          j,        effgd           d              Z1ej*        +                    d! eg d          j,         ej/        dd          ej2        ff ej.        ddd          j,         ej-        dd          ej2        ff ej0        ddd          j,         ej/        dd           ej-        dd          ej2        ffgd"           d#             Z3ej*        +                    d$ ej.        d%d&'          j         ej4        d%d&'          j        g          d(             Z5ej*        +                    d)d*d+g          ej*        +                    d, ej6        d-d.g           ed/d0gd1           ed-d.gd2          g          ej*        +                    d3e7ej        ej        ej8        ej9        ej:        ej;        g          d4                                     Z<ej*        +                    d, ej6        d-d.g           ed/d0gd1           ed-d.gd2          g          ej*        +                    d5d/d0gd6d7g e
d-d89          gd0z  g          d:                         Z=ej*        +                    d3e7e>ej        ej8        g          d;             Z?ej*        +                    d<d=d>g          d?             Z@ ej!        d@dA ejA        dB ejB        dC          D           ejA        dE ejB        dE          D          g	          dF             ZCej*        +                    d<d=d>g          dG             ZDdS )H    )annotationsN)NaTOutOfBoundsDatetime	Timestamp)DatetimeIndexPeriodPeriodIndexTimedeltaIndex)DatetimeArrayPandasArrayPeriodArrayTimedeltaArray)_sequence_to_dt64ns)sequence_to_td64ns)DBWMQY)paramsc                    | j         S )z:Fixture returning parametrized frequency in string format.)param)requests    a/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/arrays/test_datetimelike.pyfreqstrr   #   s     =    c                N    t          j        t          d          d|           }|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.
    
2000-01-01d   startperiodsfreq)pdperiod_ranger   )r   pis     r   period_indexr(   )   s'     
y66'	R	R	RBIr   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_indexr,   7   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_indexr2   E   s     555666r   c                  P   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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 d/ Z!d0 Z"ej        	                    d)e
j#        e
j$        e%j&        e'e(g          d1             Z)d2 Z*ej        	                    dddg          d3             Z+d4 Z,ej        	                    d)e'e%j&        e
j#        e
j$        g          d5             Z-d6 Z.d7 Z/d8 Z0d9 Z1d:S );SharedTestsz2type[DatetimeIndex | PeriodIndex | TimedeltaIndex]	index_clsc                r    t          j        dd          dz  dz  dz  }|                     |d          }|S )	z5Fixture returning DatetimeArray with daily frequency.
   i8dtype      ʚ;r   r$   )nparange	array_clsselfdataarrs      r   arr1dzSharedTests.arr1dT   sA     y4(((2-4u<nnTn,,
r   c                8   |}|                      |          }t          j        t          d          5  ||d d         k     d d d            n# 1 swxY w Y   t          j        t          d          5  ||dg         k     d d d            d S # 1 swxY w Y   d S )NzLengths must matchmatch   r   )r5   pytestraises
ValueError)rC   rF   rE   idxs       r   test_compare_len1_raisesz$SharedTests.test_compare_len1_raises[   s!    nnS!!]:-ABBB 	 	3rr7NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:-ABBB 	 	3s8OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s#   AAA4BBBresult2020   r#   UTC)r#   tzz0 days2020Q1r   r#   r$   c                    t          j        |          }t          ||k              sJ t          ||k              rJ d S N)r%   Categoricalallany)rC   rP   expecteds      r   test_compare_with_Categoricalz)SharedTests.test_compare_with_Categoricalh   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)orderedr9   )	r%   rZ   CategoricalIndexr?   onesshapebooltmassert_numpy_array_equal)rC   rF   r`   r_   rb   otherleftrightrd   zerosrP   s              r   test_compare_categorical_dtypez*SharedTests.test_compare_categorical_dtypev   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                            |           | j        t
          urd nd}|                     ||          }| j                            |          }g d	}|                    |          }|                    |          }t          j
        |                     |          |           t          j        g d	          }|                    |          }|                    |          }t          j
        |                     |          |           d S )
Nr    r8   r9   r;   r<   r=   r   r>   )rJ      ^   )r?   r@   randomshufflerA   r   r5   _simple_newtakerg   assert_index_equalarray)rC   rD   r$   rE   rN   takersrP   r]   s           r   	test_takezSharedTests.test_take   s   yD)))B.5=
	$~[88ttcnnTn--n((--&!!88F##
dnnV44h???***%%&!!88F##
dnnV44h?????r   
fill_value   g       @i  rJ      c                .   t          j        dd          dz  dz  dz  }|                     |d          }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 )Nr7   r8   r9   r;   r<   r=   r   r>   value should be a '' or 'NaT'. GotrH   r   rJ   T
allow_fillry   )	r?   r@   rA   _scalar_type__name__rK   rL   	TypeErrorrt   )rC   ry   rD   rE   msgs        r   test_take_fill_raisesz!SharedTests.test_take_fill_raises   s    y4(((2-4u<nnTn,,NC$4$=NNN]9C000 	E 	EHHaVHDDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	Es   "B

BBc                   t          j        dd          dz  dz  dz  }|                     |d          }|                    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 )Nr7   r8   r9   r;   r<   r=   r   r>   rJ   Tr   r   )r?   r@   rA   rt   r   nanrC   rD   rE   rP   s       r   test_take_fillzSharedTests.test_take_fill   s    y4(((2-4u<nnTn,,2q'dtDDayC2q'drvFFayC2q'dsCCayCr   c                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   rJ   Tr   r}   r~   rH   foo)	rt   strrg   assert_equalr   r   rK   rL   r   )rC   rF   rP   r]   r   s        r   test_take_fill_strzSharedTests.test_take_fill_str   s   RGU2YPP"a>
)))PE$6$?PPP]9C000 	C 	CJJAw4EJBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	Cs   8B  B$'B$c                   |}|                      |          }|                    dt                    }|                     |          }|                    |d d         |dd          |g          }|                    t                    }|                      t          j        |d d         |dd          |g          d           }t          j
        |                      |          |           d S )Nr   r   rJ   )r5   insertr   rA   _concat_same_typeastypeobjectr?   concatenaterg   ru   )rC   rF   rE   rN   rP   arr2r]   s          r   test_concat_same_typez!SharedTests.test_concat_same_type   s    nnS!!jjC  nnS!!&&CRC#abb'3'?@@zz&!!>>".$ss)T!""Xt1L"M"MtTT
dnnV44h?????r   c                   t          j        dd          dz  dz  dz  }|                     |d          }|                    |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 )Nr7   r8   r9   r;   r<   r=   r   r>   r   z'value' should be a .rH   r   )r?   r@   rA   _unbox_scalar_ndarrayr:   type
isinstancer   scalar_typer   rK   rL   rM   )rC   rD   rE   rP   r]   r   s         r   test_unbox_scalarzSharedTests.test_unbox_scalar   s@   y4(((2-4u<nnTn,,""3q6**<%*&(+++++""3''&(+++++AT%5%>AAA]:S111 	% 	%e$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   C//C36C3c                   t          j        dd          dz  dz  dz  }|                     |d          }|                    |d	                    |                    |d d
                    |                    t                     d S )Nr7   r8   r9   r;   r<   r=   r   r>   r   rJ   )r?   r@   rA   _check_compatible_withr   rB   s      r   test_check_compatible_withz&SharedTests.test_check_compatible_with   s    y4(((2-4u<nnTn,,""3q6***""3rr7+++""3'''''r   c                    t          j        dd          dz  dz  dz  }|                     |d          }|                    t	          |d	                             }||d	         k    sJ d S )
Nr7   r8   r9   r;   r<   r=   r   r>   r   )r?   r@   rA   _scalar_from_stringr   r   s       r   test_scalar_from_stringz#SharedTests.test_scalar_from_string   sr    y4(((2-4u<nnTn,,((SV55Qr   c                   t          j        dd          dz  dz  dz  }|                     |d          }d	}t          j        t
          |
          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr7   r8   r9   r;   r<   r=   r   r>   z)does not support reduction 'not a method'rH   znot a method)r?   r@   rA   rK   rL   r   _reduce)rC   rD   rE   r   s       r   test_reduce_invalidzSharedTests.test_reduce_invalid   s    y4(((2-4u<nnTn,,9]9C000 	( 	(KK'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   A77A;>A;methodpadbackfillc                   t          j        dd          dz  dz  dz  }|                     |d          }t          |d	<   |d
k    r|d         n|d         }|                    |          }|d	         |k    sJ |d	         t          u sJ d S )Nr7   r8   r9   r;   r<   r=   r   r>   ro   r   rR      )r   )r?   r@   rA   r   fillna)rC   r   rD   rE   ry   rP   s         r   %test_fillna_method_doesnt_change_origz1SharedTests.test_fillna_method_doesnt_change_orig   s    y4(((2-4u<nnTn,,A%SVVCF
6**ayJ&&&& 1v}}}}}}r   c                   t          j        dd          dz  dz  dz  }|                     |d          }|                    |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 )Nr7   r8   r9   r;   r<   r=   r   r>   rJ   rz   rk   siderR   )	r?   r@   rA   searchsortedrv   intprg   rh   r   )rC   rD   rE   rP   r]   s        r   test_searchsortedzSharedTests.test_searchsorted  sF   y4(((2-4u<nnTn,, !!#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                0   |}|n0|dk    r|                      |          }nt          j        |          }|                    t	          |d                             }|dk    sJ |                    t	          |d                   d          }|dk    sJ |                    d |dd         D                       }t          j        ddgt
          j                  }t          j	        ||           t          j        t          t          j        d	|j        j         d
                    5  |                    d           d d d            n# 1 swxY w Y   |dk    rdnd}t          j        d|          5  t          j        t          t          j        d	|j        j         d| d                    5  |                    t	          |d                   dg           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   rJ   rz   rk   r   rR   c                ,    g | ]}t          |          S r1   r   .0xs     r   
<listcomp>zBSharedTests.test_searchsorted_castable_strings.<locals>.<listcomp>:  s    "<"<"<a3q66"<"<"<r   r9   r}   z/', 'NaT', or array of those. Got 'str' instead.rH   r   pythonStringArrayArrowStringArraystring_storagez"', 'NaT', or array of those. Got 'z
' instead.baz)r5   r%   Seriesr   r   r?   rv   r   rg   rh   rK   rL   r   reescaper   r   option_context)rC   rF   r   r   rE   rP   r]   arr_types           r   "test_searchsorted_castable_stringsz.SharedTests.test_searchsorted_castable_strings'  s   ;G^^..%%CC )C..C !!#c!f++..{{{{!!#c!f++G!<<{{{{!!"<"<3qs8"<"<"<==8QF"'222
#FH555])8e&8&A 8 8 8 
 
 
 	$ 	$ U###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ %3h$>$>==DV/@@ 	7 	7iD%*<*E D D/7D D D    7 7   #c!f++u!56667 7 7 7 7 7 7 7 7 7 7 7 7 7 7	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7sH   1EEE=?H<+G3'H3G7	7H:G7	;HHHc                   t          j        d t          dd          D             d          }|                     |d          }|d          t	          j        |          }|d          t	          j        |          }|d          d S )	Nc                ,    g | ]}t           j        |z   S r1   )r   _value)r   ns     r   r   zGSharedTests.test_getitem_near_implementation_bounds.<locals>.<listcomp>V  s    AAASZ!^AAAr   rJ   r   r8   r9   nsr>   r   )r?   asarrayrangerA   r%   Indexr   )rC   i8valsrE   r   sers        r   'test_getitem_near_implementation_boundsz3SharedTests.test_getitem_near_implementation_boundsS  s}     AAU1a[[AAANNNnnV$n//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 )Nr9   rR   r   )r   r   r   )r   r   r?   newaxisr:   rg   r   )rC   rF   r]   rP   arr2ds        r   test_getitem_2dzSharedTests.test_getitem_2d`  s    4;;u~aaam<EKPPPqqq"*}%
))) 4;;u~bqb!e4EKHHHrr1u
))) u9!!!!!!r   c                \   |j         d dt          j        f         }t          |                              ||j                  }t          |          }t          |          dk    sJ |D ]@}t          |t          |                    sJ |j	        dk    sJ |j        |j        k    sJ Ad S )NrR   r9   rJ   )
r   r?   r   r   rs   r:   listlenr   ndim)rC   rF   data2dr   rP   r   s         r   test_iter_2dzSharedTests.test_iter_2dq  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 )
NrR   r9   <z>
[
['r   z'],
['rJ   rz   z']
]
Shape: (3, 1), dtype: )r   r?   r   r   rs   r:   reprr   r   r   
_repr_base)rC   rF   r   r   rP   r]   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  }|                     |d          }|d	         |d
<   t          j        dd          dz  dz  dz  }|d	         |d
<   t          j        |j        |           |dd          |d d<   |dd          |d d<   t          j        |j        |           d S )Nr7   r8   r9   r;   r<   r=   r   r>   rJ   r   rz   )r?   r@   rA   rg   rh   asi8rC   rD   rE   r]   s       r   test_setitemzSharedTests.test_setitem  s    y4(((2-4u<nnTn,,QA9Rt,,,r1D85@qk
#CHh777bcc(BQB}!
#CHh77777r   c                   |                                 d d d         }|j        j        dv r|                    d           }|}|t          u rt	          |          }n|t
          j        u r-t          j        |                    t                              }nQ|t          u r% |t          j
        |t                              }n# ||                              t                    }||d d <   t          j        ||           d S )Nr   )mr   r9   )copyr:   kind
_with_freqr   r?   rv   r   r   r   r   rg   r   )rC   r   rF   r]   valss        r   test_setitem_object_dtypez%SharedTests.test_setitem_object_dtype  s     ::<<"%>*,,**400H$;;::DDBH__8DKK//00DDK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   rJ   c                ,    g | ]}t          |          S r1   r   r   s     r   r   z1SharedTests.test_setitem_strs.<locals>.<listcomp>  s    111c!ff111r   rz   r   )r   rg   r   r   )rC   rF   r]   rP   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%   rZ   rc   rg   r   )rC   rF   r`   r]   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                   t          j        dd          dz  dz  dz  }|                     |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 )Nr7   r8   r9   r;   r<   r=   r   r>   r   zindex 12 is out of boundsrH   r{   zvalue should be a.* 'object'z<cannot set using a list-like indexer with a different lengthrJ   z=cannot set using a slice indexer with a different length thanrR   )	r?   r@   rA   rK   rL   
IndexErrorr   r   rM   )rC   rD   rE   valr   s        r   test_setitem_raiseszSharedTests.test_setitem_raises  sH   y4(((2-4u<nnTn,,!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	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   A,,A03A0B00B47B4C11C58C5D66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. GotrH   r   rJ   rz   g        g      ?)r   r   rK   rL   r   )rC   rF   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  }|                     |d          }|t          j        d	
          z   }|t          j        d	
          z  }t          j        ||           |t          j        d	
          z
  }|t          j        d	
          z  }t          j        ||           d S )Nr7   r8   r9   r;   r<   r=   r   r>   rJ   days)r?   r@   rA   r%   	Timedeltarg   r   r   s       r   test_inplace_arithmeticz#SharedTests.test_inplace_arithmetic  s    y4(((2-4u<nnTn,,1----r|####
X&&&1----r|####
X&&&&&r   c                   t          j        dd          dz  dz  dz  }|                     |d          }t          j        t
          d	
          5  |                    dd           d d d            d S # 1 swxY w Y   d S )Nr7   r8   r9   r;   r<   r=   r   r>   zvalue should be arH   rJ   )ry   )r?   r@   rA   rK   rL   r   shiftrB   s      r   test_shift_fill_int_deprecatedz*SharedTests.test_shift_fill_int_deprecated  s    y4(((2-4u<nnTn,,]9,?@@@ 	' 	'IIaAI&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   A77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 )
Nrz   r   r   rJ   F)skipna)axis)r  r  r9   )r   medianr   r   r   r   meanreshape_from_sequencer:   rg   r   )rC   rF   rE   r]   rP   r   	expected2s          r   test_medianzSharedTests.test_median  s   s88a<1crc(Cs3xx1}%F||tH~~----!!!! CHHM(F++ 	I3s88q=1,s3xx1}q/@@AFFHHHzzz''3....F||tH~~----!!!!2A2w~~3&&&&2A2w~~U~++s2222 {{2q!!$''F||tH~~----!!!!{{U{33s::::!$$II,,hZsy,II	
	***!E22II,,cU#),DD	
	***!$$
$$$!E22
$$$$$r   c                   t          j        g dt           j                  }|                     || j                  }t          j        |d          }|                     || j                  }t          j        ||           d S )NrJ   rz   rR   r9   Int64)r?   rv   int64rA   example_dtyper%   rg   assert_extension_array_equal)rC   rE   r]   rD   rP   s        r   test_from_integer_arrayz#SharedTests.test_from_integer_arrayM  sy    hyyy111>>#T-?>@@x7+++D,>??
'99999r   N)2r   
__module____qualname____annotations__rK   fixturerF   rO   markparametrizer%   r*   timedelta_ranger&   r^   rm   rx   r   timer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r?   rv   r   r   r   r   r   r   r   r  r  r  r  r1   r   r   r4   r4   Q   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E E UTE     C C C
@ 
@ 
@% % %( ( (     ( ( ( [Xz':;;  <;  2 [U$=$=$=>>)7 )7 ?>)7V  " " ""* * *" " ":8 8 8 [HIH	
	 	) )	 	)(* * *& [Z$77) ) 87)  * [UT28RXry$IJJ( ( KJ(' ' '' ' '.% .% .%`: : : : :r   r4   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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$   rU   )r%   r*   _data)rC   tz_naive_fixturer   rU   r+   dtas         r   rF   zTestDatetimeArray.arr1d]  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2Tr>   rJ   )minutes)	r5   roundr%   r   r   rg   ru   r"  assert_datetime_array_equal)rC   rF   r+   rP   r]   r$  s         r   
test_roundzTestDatetimeArray.test_roundh  s    nnU##%%a0000&&t,,
fh///i%%>,,T22
&vx88888r   c                `   t          |          }t          j        |          }|j        }||u sJ t	          j        ||           t          j        |d          }||u sJ t	          j        ||           t          j        |d          }|j        }||u sJ t	          j        ||           t          j        |dd          }||u sJ t	          j        ||           t          j        |d          }||usJ t	          j        ||           t          j        |t                    }t          j        t          |          t                    }t	          j        ||           t          j        |d          }||j	        usJ t          j
        ||          rJ |j	                                        }t	          j        ||           dt          fD ]T}t          j        ||          }t          j        |                              |          }t	          j        ||           Ud S )NFr   datetime64[ns]r9   r:   r   r  float64)r   r?   r   r   rg   rh   rv   r   r   r   may_share_memoryr   r   r   )rC   r,   rE   rP   r]   r:   s         r   test_array_interfacez&TestDatetimeArray.test_array_interfacev  sC   N++ C<!!!!
#FH555#E***!!!!
#FH555 C'7888<!!!!
#FH555#%5EBBB!!!!
#FH555#%5666X%%%%
#FH555 Cv...8DIIV444
#FH555 Cw///SX%%%%&sF333338==??
#FH555  % 	: 	:EZ5111Fz#--e44H'9999	: 	:r   c                6   |}|                      |          }t          j        t          |                    }t          j        |t                    }t          j        ||           t          j        |t                    }t          j        ||           d S Nr9   )r5   r?   rv   r   r   rg   rh   rC   rF   rE   r+   r]   rP   s         r   test_array_object_dtypez)TestDatetimeArray.test_array_object_dtype  s    nnU##8DII&&#V,,,
#FH555 #V,,,
#FH55555r   c                   |}|                      |          }|j                            d          }t          j        |d          }t          j        ||           t          j        |d          }t          j        ||           t          j        |dd          }|j        |j        u sJ |j        J t          j        |dd          }|j        |j        u sJ |j        J d S )Nr  r9   r-  Fr.  )r5   r   viewr?   rv   rg   rh   baser4  s         r   test_array_tzzTestDatetimeArray.test_array_tz  s    nnU##8==**#X...
#FH555#%5666
#FH555 #XE:::{hm++++{&&&#%5EBBB{hm++++{&&&&&r   c                b   |}|                      |          }|j        }t          j        |d          }t	          j        ||           t          j        |t          j                  }t	          j        ||           t          j        |dd          }|j        |j        usJ |j        J d S )Nr8   r9   Fr.  )r5   r   r?   rv   rg   rh   r  r8  r4  s         r   test_array_i8_dtypez%TestDatetimeArray.test_array_i8_dtype  s    nnU##8#T***
#FH555#RX...
#FH555 #T666{(-////{"""""r   c                    t          j        ddgd          }t          |          }|j        |u sJ t          |d d                   }|j        j        |u sJ d S )Nr   z
2000-01-02r  r9   r   )r?   rv   r   r   r8  )rC   rE   r$  s      r   test_from_array_keeps_basez,TestDatetimeArray.test_from_array_keeps_base  sl    hl38DDDC  |s""""CG$$| C''''''r   c                   |}|                      |          }t          |          t          |          k    sJ t          j        |          }t	          |t
                    sJ t          |          t          |          k    sJ d S rY   )r5   r   r%   r   r   r   )rC   rF   rE   r+   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r5   r   r   r?   ndarrayr:   r   )rC   rF   rE   r+   asobjs        r   test_astype_objectz$TestDatetimeArray.test_astype_object  su    nnU##

3%,,,,,{c!!!!E{{d3ii''''''r   c                    |}t          |          }|                    |          }|                    |          }t          |t                    sJ t	          j        t          j        |          t          j        |                     d S )Nr>   )r   	to_periodr   r   rg   ru   r%   r   )rC   r,   r   r+   rE   r]   rP   s          r   test_to_periodz TestDatetimeArray.test_to_period  s    C  ==g=..G,,&+..... 	bhv..0B0BCCCCCr   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 )NrJ   r   r   )r
  rU   UserWarningrg   assert_produces_warningrI  assert_period_array_equal)rC   rF   r   warnrP   r]   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 r3  )r5   r$   getattrr?   rv   r:   rg   rh   rC   rF   rQ  r+   rE   rP   r]   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 r3  )r5   rS  r?   rv   r:   rg   rh   rT  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   rJ   Tr   r   r}   r~   rH   2014Q1z
US/Easternz:Cannot compare tz-naive and tz-aware datetime-like objectsr   r   zAustralia/Melbourne)r5   tz_localizerU   rt   r   r   rK   rL   r   r   r   r   r?   timedelta64
tz_convertr:   rg   r   )rC   rF   fixed_now_tsrE   r+   nowrP   r   rU   valuer]   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 )NrT   zto_concat must have the samerH   )rU   rZ  rK   rL   rM   r   )rC   rF   rE   ri   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                \   t          t          j        dddd                    }t          t          j        dddd                    }t          j        ||g          }t          t          j        g d                              d                    }t          j        ||           d S )N2000rz   r   z
US/Centralr!  H)2000-01-01 00:00:00z2000-01-02 00:00:00rf  z2000-01-01 01:00:00)r   r%   r*   r   to_datetimerZ  rg   r)  )rC   abrP   r]   s        r   $test_concat_same_type_different_freqz6TestDatetimeArray.test_concat_same_type_different_freqU  s    "-UUUVV"-UUUVV0!Q88 N    k,''	
 	
 	&vx88888r   c                    |}|                     d          }t          j        d |D             t                    }t	          j        ||           d S )N%Y %bc                8    g | ]}|                     d           S )rl  strftime)r   tss     r   r   z3TestDatetimeArray.test_strftime.<locals>.<listcomp>k  s$    @@@bR[[11@@@r   r9   ro  r?   rv   r   rg   rh   rC   rF   rE   rP   r]   s        r   test_strftimezTestDatetimeArray.test_strftimeg  sT    g&&8@@C@@@OOO
#FH55555r   c                    t          t          dt          g                    }|                    d          }t	          j        dt          j        gt                    }t          j	        ||           d S )N
2019-01-01%Y-%m-%dr9   )
r   r   r   ro  r?   rv   r   r   rg   rh   rC   rE   rP   r]   s       r   test_strftime_natz#TestDatetimeArray.test_strftime_natn  sa    M<*=>>??j))8\262&AAA
#FH55555r   N)"r   r  r  r   r5   r   rA   r   r   r  rK   r  rF   r*  r1  r5  r9  r;  r=  r@  rG  rJ  rP  r  r  	_bool_opsrU  
_field_opsrW  r`  rb  rj  rs  rx  r1   r   r   r  r  W  s       IIKM^  ^9 9 9(: (: (:T6 6 6' ' '(# # # ( ( (' ' '( ( (
D 
D 
D7 7 7 [Z)@AA	6 	6 BA	6 [Z)ABB6 6 CB6.. .. ..`
0 
0 
09 9 9$6 6 66 6 6 6 6r   r  c                      e Zd ZeZeZej        Z	dZ
d Zd Zd Zd Zej                            dej                  d             Zd Zd	 Zd
S )TestTimedeltaArraym8[ns]c                $   t          ddg          }t          |          }t          |          t          |          k    sJ t          j        |          }t          |t                     sJ t          |          t          |          k    sJ d S )Nr/   r0   )r
   r   r   r%   r   r   )rC   tdirE   tdi2s       r   test_from_tdiz TestTimedeltaArray.test_from_tdi}  s    gy122S!!CyyDII%%%% x}}$/////DzzT#YY&&&&&&r   c                   t          ddg          }t          |          }|                    d          }t          |t          j                  sJ |j        dk    sJ t          |          t          |          k    sJ d S )Nr/   r0   rC  )r
   r   r   r   r?   rE  r:   r   )rC   r  rE   rF  s       r   rG  z%TestTimedeltaArray.test_astype_object  s~    gy122S!!

3%,,,,,{c!!!!E{{d3ii''''''r   c                    |}t          |          }|                                }|                                }t          j        ||           d S rY   )r   to_pytimedeltarg   rh   rC   r2   r  rE   r]   rP   s         r   test_to_pytimedeltaz&TestTimedeltaArray.test_to_pytimedelta  sO    S!!%%''##%%
#FH55555r   c                    |}t          |          }|                                }|                                }t          j        ||j                   d S rY   )r   total_secondsrg   rh   valuesr  s         r   test_total_secondsz%TestTimedeltaArray.test_total_seconds  sQ    S!!$$&&""$$
#FHO<<<<<r   rQ  c                    |}t          |          }t          ||          }t          j        t          ||          |j                  }t          j        ||           d S r3  )r   rS  r?   rv   r:   rg   rh   )rC   r2   rQ  r  rE   rP   r]   s          r   rW  z&TestTimedeltaArray.test_int_properties  s\    S!!h''8GC22&,GGG
#FH55555r   c                `   t          |          }t          j        |          }|j        }||u sJ t	          j        ||           t          j        |d          }||u sJ t	          j        ||           t          j        |d          }|j        }||u sJ t	          j        ||           t          j        |dd          }||u sJ t	          j        ||           t          j        |d          }||usJ t	          j        ||           t          j        |t                    }t          j        t          |          t                    }t	          j        ||           t          j        |d          }||j	        usJ t          j
        ||          rJ |j	                                        }t	          j        ||           dt          fD ]T}t          j        ||          }t          j        |                              |          }t	          j        ||           Ud S )NFr,  ztimedelta64[ns]r9   r.  r  r/  )r   r?   r   r   rg   rh   rv   r   r   r   r0  r   r   r   )rC   r2   rE   rP   r]   r:   s         r   r1  z'TestTimedeltaArray.test_array_interface  sC   _-- C<!!!!
#FH555#E***!!!!
#FH555 C'8999<!!!!
#FH555#%6UCCC!!!!
#FH555#%6777X%%%%
#FH555 Cv...8DIIV444
#FH555 Cw///SX%%%%&sF333338==??
#FH555  % 	: 	:EZ5111Fz#--e44H'9999	: 	:r   c                   |}t          |          }t          j        d          }|                    ddgd|          }|d         |k    sJ |}d|j        j         d}t          j        t          |	          5  |                    ddgd|           d d d            n# 1 swxY w Y   |	                    d
          }t          j        t          |	          5  |                    ddgd|           d d d            n# 1 swxY w Y   t          j        dd          }t          j        t          |	          5  |                    ddgd|           d d d            d S # 1 swxY w Y   d S )NrJ   r   r   Tr   r   r}   r~   rH   r   r   r   )r   r%   r   rt   r   r   rK   rL   r   rI  r?   
datetime64)	rC   r2   r]  r  rE   td1rP   r_  r   s	            r   r`  z'TestTimedeltaArray.test_take_fill_valid  sp   S!!l"""2q'dsCCayCNC$4$=NNN]9C000 	@ 	@HHaVH???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ &&s++]9C000 	@ 	@HHaVH???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ eT**]9C000 	A 	AHHb!W%H@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	As6   <B##B'*B'DD	D	 E((E,/E,N)r   r  r  r
   r5   r   rA   r%   r   r   r  r  rG  r  r  rK   r  r  rz  rW  r1  r`  r1   r   r   r|  r|  w  s        II,KM' ' '( ( (6 6 6= = = [Z)BCC6 6 DC6(: (: (:TA A A A Ar   r|  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   r>   c                    |j         S )zW
        Fixture returning DatetimeArray from parametrized PeriodIndex objects
        )r"  )rC   r(   s     r   rF   zTestPeriodArray.arr1d  s    
 !!r   c                   |                      |          }|}t          |          t          |          k    sJ t          j        |          }t	          |t
                    sJ t          |          t          |          k    sJ d S rY   )r5   r   r%   r   r   r	   )rC   rF   r'   rE   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 rB  rD  )rC   rF   r'   rE   rF  s        r   rG  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~   rH   r   rJ   Tr   r   r   )
r   r   r   r   rK   rL   r   rt   r?   r[  )rC   rF   rE   r_  r   s        r   r`  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                F   |                      |          }|}t          |                    |                    }|                    |          }t          |t                    sJ t	          j        t          j        |          t          j        |                     d S )N)r  )r5   r   to_timestampr   rg   ru   r%   r   )rC   r  rF   r'   rE   r]   rP   s          r   test_to_timestampz!TestPeriodArray.test_to_timestamp  s    ^^E"" S!9!9::!!c!**&-00000 	bhv..0B0BCCCCCr   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-18rR   r   rW   rz   2B)r%   r*   r"  rI  r  r$   rg   r  )	rC   r$  parrrP   dta2parr2result2parr3result3s	            r    test_to_timestamp_roundtrip_bdayz0TestPeriodArray.test_to_timestamp_roundtrip_bday(  s   mL!#>>>D}}""$${c!!!!
'44433Q3x  $$&&|t####
'666d##$$&&|s""""
'55555r   c                `   t          j        ddd          }d}t          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t          j        t          |          5  |j                                         d d d            d S # 1 swxY w Y   d S )N1500r   rR   )r$   r#   z7Out of bounds nanosecond timestamp: 1500-01-01 00:00:00rH   )r%   r&   rK   rL   r   r  r"  )rC   r'   r   s      r   test_to_timestamp_out_of_boundsz/TestPeriodArray.test_to_timestamp_out_of_bounds;  s(   _V#q999G].c::: 	 	OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ].c::: 	$ 	$H!!###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s#   AAA<B##B'*B'rQ  c                    |                      |          }|}t          ||          }t          j        t          ||                    }t	          j        ||           d S rY   r5   rS  r?   rv   rg   rh   rC   rF   rQ  r'   rE   rP   r]   s          r   rU  z$TestPeriodArray.test_bool_propertiesE  s[     ^^E""h''8GB1122
#FH55555r   c                    |                      |          }|}t          ||          }t          j        t          ||                    }t	          j        ||           d S rY   r  r  s          r   rW  z#TestPeriodArray.test_int_propertiesP  sY    ^^E""h''8GB1122
#FH55555r   c                   |}t          j        |          }t          j        t          |          t                    }t          j        ||           t          j        |t                    }t          j        ||           t          j        |d          }t          j        ||j                   d}t          j	        t          |          5  t          j        |d           d d d            n# 1 swxY w Y   t          j        |d          }t          j        |                              d          }t          j        ||           d S )Nr9   r  zEfloat\(\) argument must be a string or a( real)? number, not 'Period'rH   r/  S20)r?   r   rv   r   r   rg   rh   r   rK   rL   r   r   )rC   rF   rE   rP   r]   r   s         r   r1  z$TestPeriodArray.test_array_interfaceZ  sf    C8DIIV444
#FH555 Cv...
#FH555Cw///
#FCH555 W]9C000 	- 	-Js),,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- Cu---:c??))%00
#FH55555s   C44C8;C8c                    |}|                     d          }t          j        d |D             t                    }t	          j        ||           d S )N%Yc                8    g | ]}|                     d           S )r  rn  )r   pers     r   r   z1TestPeriodArray.test_strftime.<locals>.<listcomp>v  s$    ???CS\\$//???r   r9   rq  rr  s        r   rs  zTestPeriodArray.test_strftimer  sT    d##8??3???vNNN
#FH55555r   c                    t          t          dt          gd                    }|                    d          }t	          j        dt          j        gt                    }t          j	        ||           d S )Nru  z	period[D]r9   rv  )
r   r	   r   ro  r?   rv   r   r   rg   rh   rw  s       r   rx  z!TestPeriodArray.test_strftime_naty  sf    +|S&9MMMNNj))8\262&AAA
#FH55555r   N)r   r  r  r	   r5   r   rA   r   r   r:   r  rK   r  rF   r  rG  r`  r  r  r  r  r  ry  rU  rz  rW  r1  rs  rx  r1   r   r   r  r    si       IIKK---3M^" " ^"& & &' ' 'A A A [US#J//
D 
D 0/
D6 6 6&$ $ $ [Z)>??6 6 @?6 [Z)?@@6 6 A@66 6 606 6 66 6 6 6 6r   r  zarr,casting_natsr.   r   r   r   rR   r   rW   c                *    t          |           j        S rY   r   r   r   s    r   <lambda>r        $q''" r   )idsc                    t          |                               t          | d         | d         g          }|D ]0}|                                 } || d<   t	          j        | |           1d S )NrJ   rz   r   )r   r  r   r   rg   r   )rE   casting_natsr]   nats       r   test_casting_nat_setitem_arrayr    sp      Cyy''c!fc!f(=>>H ' 'hhjjA
X&&&&' 'r   zarr,non_casting_natsc                *    t          |           j        S rY   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.rH   r   )rK   rL   r   )rE   non_casting_natsr   r  s       r   test_invalid_nat_setitem_arrayr    s    (	6 
    ]9C000 	 	CF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s   48	8	rE   rd  ro   rS   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  r9   l         )r:   na_valuerJ   )r  Fr,  )r   r   to_numpyr?   isnanrg   r   )rE   originalrP   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   r`   TFr  z
2020-01-01z
2020-02-01rJ   rz   )unitr>   klassc                    |s| j         } |                      ||                     }t          j        ddg|j                  }t          j        ||           d S )Nr   rJ   r9   )r"  r   r?   rv   r:   rg   rh   )r  r  r`   rP   r]   s        r   ,test_searchsorted_datetimelike_with_listliker    sa    .    v//FxAfl333H11111r   argrh  ri  zEurope/London)rU   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]rH   )rK   rL   r   r   )r  r  r   s      r   :test_searchsorted_datetimelike_with_listlike_invalid_dtyper    s     -C	y	,	,	, ! !C   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   AAAc                    ddgdz  } | |          }t          |d          }t          d |D                       }t          j        ||           d S )NrV   2020Q2rz   r   r>   c                ,    g | ]}t          |          S r1   )r   )r   ss     r   r   z?test_period_index_construction_from_strings.<locals>.<listcomp>  s    777!F1II777r   )r	   rg   ru   )r  stringsrD   rP   r]   s        r   +test_period_index_construction_from_stringsr    sg     "Q&G5>>DC(((F77w77788H&(+++++r   r:   r  r}  c                   t          j        g d|           }t          |          }t          t          d|          } ||          } ||          }t          j        ||           |                    |          }|                    |          }t          j        ||           t          t          d|          } ||          d         } ||          d         }t          j
        ||           t          j        t          j        d|          } ||          j        } ||          j        }t          j
        ||           t          t          d|          } ||          } ||          }t          j        ||           d S )Nr  r9   r  r}  r   )r?   rv   r   r   r   rg   r  r  r   r   r   r%   rg  to_timedeltar   r
   ru   )r:   rD   rE   clsrP   r]   funcidx_clss           r   test_from_pandas_arrayr    sv    8IIIU+++D
d

C"n
=
=e
DCSXXFs4yyH#FH555$$F!!$''H#FH555)5GHHODT#YYq\FtDzz!}HOFH%%%n@@GDT#YY_FtDzzHOFH%%% '.AA%HGWS\\Fwt}}H&(+++++r   
memoryviewrv   daskz
dask.array)marksxarrayc                H   t          j        g dt           j                  }| j        }|dk    rt	          |          }n`|dk    rt          j        d|          }nD|dk    rddl}|j                            |          }n|d	k    rddl}|                    |          }||fS )
z
    Fixture giving a numpy array and a parametrized 'data' object, which can
    be a memoryview, array, dask or xarray object created from the numpy array.
    r  r9   r  rv   ir  r   Nr  )r?   rv   r  r   r  
dask.arrayr  	DataArray)r   rE   namerD   r  xrs         r   array_likesr  1  s     (999BH
-
-
-C=D|#	{3$$	z$$			||C  9r   c                   |\  }}t           t          d|          } ||          }|                    |          }t          j        ||           t
          t          d|          } ||          d         } ||          d         }t          j        ||           t          |t                    sTt          j        t          j        d|          } ||          j        } ||          j        }t          j        ||           t          t          d|          } ||          } ||          }t          j        ||           d S )Nr  r   )r   r   r  rg   r  r   r   r   r   r  r%   rg  r  rv   r   r
   ru   )	r:   r  rE   rD   r  r]   rP   r  r  s	            r   test_from_obscure_arrayr  R  s;    IC"n
=
=e
DCs3xxH%%F#FH555)5GHHODT#YYq\FtDzz!}HOFH%%%dJ'' * .BODDUKc4::#
))) '.AA%HGWS\\Fwt}}H&(+++++r   )E
__future__r   rv   r   numpyr?   rK   pandas._libsr   r   r   pandas.util._test_decoratorsutil_test_decoratorstdpandasr%   r   r   r	   r
   pandas._testing_testingrg   pandas.core.arraysr   r   r   r   pandas.core.arrays.datetimesr   pandas.core.arrays.timedeltasr   r  r   r(   r,   r2   r4   r  r|  r  r  r  r"  r[  r*   r  r&   r  r   r  r  r  rg  r   r   r   rZ   rc   r  r  tupler  r  r   
skip_if_nor  r  r1   r   r   <module>r     s   " " " " " "  				              
 * ) ) ) ) ) ) ) )                                 = < < < < < < < < < < < 555666  76
 
 
 
 
 
 
 7 7 7C: C: C: C: C: C: C: C:L]6 ]6 ]6 ]6 ]6 ]6 ]6 ]6@	tA tA tA tA tA tA tA tAnQ6 Q6 Q6 Q6 Q6k Q6 Q6 Q6h  N66677=.".--.	

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

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

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