o
    _~#go_                     @   s  d Z ddlmZmZmZ ddlZddlZddlmZm	Z	 ddl
mZ ddlZddlmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ ddlmZ G d	d
 d
ZG dd dZG dd dZ G dd dZ!G dd dZ"dd Z#ej$%deddgeedddeeddddgdd Z&dd Z'd d! Z(d"d# Z)d$d% Z*d&d' Z+d(d) Z,d*d+ Z-d,d- Z.d.d/ Z/d0d1 Z0d2d3 Z1d4d5 Z2d6d7 Z3d8d9 Z4ej$%d:d;d<gd=d> Z5G d?d@ d@Z6dS )AzJ
Series.__getitem__ test classes are organized by the type of key passed.
    )datedatetimetimeN)
conversion	timezones)	is_scalar)	Categorical	DataFrameDatetimeIndexIndexSeries	Timestamp
date_rangeperiod_rangetimedelta_range)IndexingError)BDayc                   @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zejdddgdd Zejdddgdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)S )*TestSeriesGetitemScalarsc                 C   s>   t dgd tg dd}|d dksJ |d dksJ d S )N      )abc      ?indexr   r   )r   r   selfser r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/series/indexing/test_getitem.py&test_getitem_object_index_float_string'   s   z?TestSeriesGetitemScalars.test_getitem_object_index_float_stringc                 C   sn   t g dg ddd}|d }|dksJ t ddgddgdd}t g dg ddd}|d }t|| d S )	N)r   r      r$   )   r%   )        g?皙?foo)r   namer&   r"   r#   )r&   r&   r'   )r   tmassert_series_equalr   r   resultexpectedr   r   r    $test_getitem_float_keys_tuple_values-   s   z=TestSeriesGetitemScalars.test_getitem_float_keys_tuple_valuesc                 C   sB   t ddgtdtdgd}|jd }|| }|dksJ d S )Nr   r$   Oi8r   )r   npdtyper   )r   r   keyr-   r   r   r     test_getitem_unrecognized_scalar<   s    
z9TestSeriesGetitemScalars.test_getitem_unrecognized_scalarc              	   C   s   t dgd dgd d}d}d}tjt|d, tjt|d |d  W d    n1 s.w   Y  W d    d S W d    d S 1 sFw   Y  d S )Nr   
   r   zFindex -11 is out of bounds for axis 0 with size 10|index out of bounds;Series.__getitem__ treating keys as positions is deprecatedmatchi)r   pytestraises
IndexErrorr*   assert_produces_warningFutureWarning)r   r   msgwarn_msgr   r   r    #test_getitem_negative_out_of_boundsG   s   
"z<TestSeriesGetitemScalars.test_getitem_negative_out_of_boundsc              	   C   s   d}d}t jt|d. tjt|d |t|  W d    n1 s$w   Y  W d    d S W d    d S 1 s<w   Y  d S )Nz3index \d+ is out of bounds for axis 0 with size \d+r7   r8   )r:   r;   r<   r*   r=   r>   len)r   datetime_seriesr?   r@   r   r   r    %test_getitem_out_of_bounds_indexerrorP   s   "z>TestSeriesGetitemScalars.test_getitem_out_of_bounds_indexerrorc                 C   sH   t g td}tjtdd |d  W d    d S 1 sw   Y  d S )Nr3   z-1r8   r   objectr:   r;   KeyErrorr   r   r   r    4test_getitem_out_of_bounds_empty_rangeindex_keyerrorX      
"zMTestSeriesGetitemScalars.test_getitem_out_of_bounds_empty_rangeindex_keyerrorc                 C   s&  |}t tjddtg d|dd}tjtdd |d  W d    n1 s+w   Y  tjtd	d |d
  W d    n1 sFw   Y  t tjddg dd}tjtdd |d  W d    n1 spw   Y  tjtd	d |d
  W d    d S 1 sw   Y  d S )Nr$      )r   r   r   r   r$   r$   rE   r   z^5$r8      z^'c'$r   )r$   r$   r   r   r   r   )	r   r2   randomdefault_rngstandard_normalr   r:   r;   rI   )r   any_int_numpy_dtyper3   r   r   r   r    (test_getitem_keyerror_with_integer_index_   s(   



"zATestSeriesGetitemScalars.test_getitem_keyerror_with_integer_indexc                 C   sZ   t d}d}tjt|d || }W d    n1 sw   Y  ||jd ks+J d S )NrM   r7   r8   )r2   int64r*   r=   r>   iloc)r   rC   idxr?   resr   r   r    test_getitem_int64w   s   

z+TestSeriesGetitemScalars.test_getitem_int64c                 C   s8   t tdttdd}|ttd }t|| d S )NrM   r   r   rangelistr*   r+   r   r   r-   r   r   r    test_getitem_full_range~   s   z0TestSeriesGetitemScalars.test_getitem_full_rangetzstrzEurope/Berlinzdateutil/Europe/Berlinc                 C   sh   t |}tddd|d}t||jd}td|d}tdd	d
dd}t||}|| || ks2J d S )Nz2012-12-24 16:00z2012-12-24 18:00h)startendfreqtz)r   dataz2012-12-24 17:00)rb   i           r   )	r   maybe_get_tzr   r   hourr   r   r   localize_pydatetime)r   r]   rb   r   tstime_pandasdttime_datetimer   r   r    test_getitem_pydatetime_tz   s   
z3TestSeriesGetitemScalars.test_getitem_pydatetime_tzrb   z
US/Easternzdateutil/US/Easternc                 C   sJ   t dd|d}ttjdt||d}|d }t||j	d  d S )N1/1/2000r6   periodsrb   r$   r   1/3/2000)
r   r   r2   rN   rO   rP   rB   r*   assert_almost_equalrT   )r   rb   rngr   r-   r   r   r     test_string_index_alias_tz_aware   s   z9TestSeriesGetitemScalars.test_string_index_alias_tz_awarec                 C   st   t dddd}ttjdt||d}|jdk|jdk@ }|t	dd }|| }|j
d |_
t|| d S )	Nro   z1/5/20005minra   r$   r   	      )r   r   r2   rN   rO   rP   rB   rh   minuter   r   
_with_freqr*   r+   )r   rt   rj   maskr-   r.   r   r   r    test_getitem_time_object   s   z1TestSeriesGetitemScalars.test_getitem_time_objectc                 C   sJ   t tdtdg}tddg|d}|jd }||d  }||ks#J d S )Nz
12-31-1999z
12-31-2000r   r$   r   r   )r   r   r   rT   )r   catsr   r.   r-   r   r   r    %test_getitem_scalar_categorical_index   s
   
z>TestSeriesGetitemScalars.test_getitem_scalar_categorical_indexc                 C   sv   t g dtg dd}|d dksJ |dg }|jdd  }t|| |g d }t||jd d d  d S )Nr   r   r   )r$   r   r   r   r   r   rF   r   r   r$   )r   pdCategoricalIndexrT   r*   r+   )r   r   rV   r.   res2r   r   r    8test_getitem_numeric_categorical_listlike_matches_scalar   s   
zQTestSeriesGetitemScalars.test_getitem_numeric_categorical_listlike_matches_scalarc                 C   sB   t g dtg dddd}|ddksJ |d dksJ d S )Nr   r   r$   r%   categoryrE   r   r%   r   )r   r   getr   r   r   r    /test_getitem_integer_categorical_not_positional   s   zHTestSeriesGetitemScalars.test_getitem_integer_categorical_not_positionalc                 C   s   t dddd}ttt||d}d}||}|dksJ || }||jd ks,J d}tjt	|d	 |d
 W d    n1 sEw   Y  tjt	|d	 |d
  W d    d S 1 saw   Y  d S )N1 day 10:11:12r^     ra   rq   r   z6 days, 23:11:12   z!^Timedelta\('50 days 00:00:00'\)$r8   z50 days)
r   r   r2   arangerB   get_locrT   r:   r;   rI   )r   rt   r   r4   indexerr-   r?   r   r   r    $test_getitem_str_with_timedeltaindex   s   

"z=TestSeriesGetitemScalars.test_getitem_str_with_timedeltaindexc                 C   sX   t ddd}d}tjt|d |d }W d    n1 sw   Y  |dks*J d S )Nr   r   )TFr7   r8   )r   r*   r=   r>   )r   r   r?   r-   r   r   r    "test_getitem_bool_index_positional   s   
z;TestSeriesGetitemScalars.test_getitem_bool_index_positionalN)__name__
__module____qualname__r!   r/   r5   rA   rD   rJ   rR   rW   r\   r:   markparametrizern   ru   r}   r   r   r   r   r   r   r   r   r    r   &   s(    		

	r   c                   @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Ze	j
deeddddg dgeedddddggeeddddg gededddg dgededdddgggdd Zdd Zdd Zdd ZdS )TestSeriesGetitemSlicesc                 C   sB   t dd}| }|d }t ddd}t||d}t|| d S )Nz1/1/2008z1/1/20092008z
2008-01-01z
2008-12-31)r_   r`   r   )r   	to_seriesr   r*   r+   )r   arrr   r-   rt   r.   r   r   r    1test_getitem_partial_str_slice_with_datetimeindex   s   
zITestSeriesGetitemSlices.test_getitem_partial_str_slice_with_datetimeindexc                 C   sv   t g d}ttjdt||d}|dd  }|dd  }t|| |dd }|dd }t|| d S )N)ro   1/2/2000r   rr   z1/4/2000r$   r   r   r   rr   r   )	r
   r   r2   rN   rO   rP   rB   r*   r+   )r   rU   rj   r-   r.   r   r   r    -test_getitem_slice_strings_with_datetimeindex   s   zETestSeriesGetitemSlices.test_getitem_slice_strings_with_datetimeindexc                 C   s   t dddd}ttt||d}|dd }|jdd	 }t|| |dd  }|jdd  }t|| |d d }|jd d	 }t|| d S )
Nr   r^   r   r   r   z5 dayz6 dayV      r   r   r2   r   rB   rT   r*   r+   r   rt   r   r-   r.   r   r   r    2test_getitem_partial_str_slice_with_timedeltaindex   s   zJTestSeriesGetitemSlices.test_getitem_partial_str_slice_with_timedeltaindexc                 C   s   t dddd}ttt||d}|dd  }|jdd  }t|| |dd  }|jdd  }t|| |d	 }||jd
 ksEJ d S )Nr   us  r   r   r   z1 day 10:11:12.001i  z1 days, 10:11:12.001001i  r   r   r   r   r    <test_getitem_partial_str_slice_high_reso_with_timedeltaindex  s   zTTestSeriesGetitemSlices.test_getitem_partial_str_slice_high_reso_with_timedeltaindexc                 C   sF   t jtdd |d d tjf  W d    d S 1 sw   Y  d S NzMulti-dimensional indexingr8   )r:   r;   
ValueErrorr2   newaxis)r   rC   r   r   r    test_getitem_slice_2d  s   "z-TestSeriesGetitemSlices.test_getitem_slice_2dc                 C   s   t dddd}ttjdd|d}tdd	d g}d
}tjt	|d ||  W d    n1 s3w   Y  ||d f }||d  }t
|| d S )N20090415200905192Brw   r$      r   rL      z Indexing with a single-item listr8   r   )r   r   r2   rN   rO   rP   slicer:   r;   r   r*   r+   )r   r   r   r   r?   r-   r.   r   r   r    test_getitem_median_slice_bug"  s   
z5TestSeriesGetitemSlices.test_getitem_median_slice_bugzslc, positionsi  r   Nr   i  r$   i  r   c                 C   s8   t g dtg d}|| }||}t|| d S )Nr   )z
2019-01-01z2019-01-01T06:00:00z
2019-01-02)r   r
   taker*   r+   )r   slc	positionsr   r-   r.   r   r   r    test_getitem_slice_date0  s   

z/TestSeriesGetitemSlices.test_getitem_slice_datec                 C   s   d}t jt|jddd |dd  W d    n1 sw   Y  t jt|jddd |dd  W d    d S 1 s@w   Y  d S )	NzUcannot do slice indexing on DatetimeIndex with these indexers \[{key}\] of type floatz4\.0)r4   r8         @g      $@z4\.5g      @)r:   r;   	TypeErrorformat)r   rC   r?   r   r   r    test_getitem_slice_float_raisesD  s   "z7TestSeriesGetitemSlices.test_getitem_slice_float_raisesc                 C   st   t tdttdd}|dd  }t|| |dd  }t||dd   |d d }t||d d  d S )Nr6   r   iir%   r   rX   r[   r   r   r    test_getitem_slice_bugO  s   z.TestSeriesGetitemSlices.test_getitem_slice_bugc                 C   sT   t tjddg dd}|d d }t |jd d g dd}t|| d S )Nr$      )r$   r   rL   r   r6   rd         r   r   )r$   r   rL   r   )r   r2   rN   rO   rP   valuesr*   r+   r,   r   r   r    test_getitem_slice_integersZ  s   z3TestSeriesGetitemSlices.test_getitem_slice_integers)r   r   r   r   r   r   r   r   r   r:   r   r   r   r   r   r   r   r   r   r   r   r    r      s(    


r   c                   @   s   e Zd Zejdeeje	e
gdd Zdd Zejdeeje	gdd Zejdeeje	gejdejejejgd	d
 Zdd ZdS )TestSeriesGetitemListLikeboxc                 C   sb   t ddg}t dgtd}||}d}tjt|d ||  W d    d S 1 s*w   Y  d S )NABCrE   zHNone of \[Index\(\['C'\], dtype='object|string'\)\] are in the \[index\]r8   rG   )r   r   r   r4   r?   r   r   r    test_getitem_no_matchesf  s   
"z1TestSeriesGetitemListLike.test_getitem_no_matchesc                 C   sf   t tdddd}|ddg }t tjdddtjd	ddgddgd
d}t|| |jd
ks1J d S )Nz
2000-01-01r6   D)rq   ra   r$   r   
2000-01-03rw   z
2000-01-05z	Period[D]r   r3   )r   r   r   Periodr*   r+   r3   )r   r   r-   expr   r   r    *test_getitem_intlist_intindex_periodvaluest  s   zDTestSeriesGetitemListLike.test_getitem_intlist_intindex_periodvaluesc           	      C   s   t dddd }tj|}ttt||d}|jd d }|dg}d}t	j
t|d || }W d    n1 s=w   Y  t	|| d S )	Nr   r%   rq   r   r   r   r7   r8   )r   r{   r   IntervalIndexfrom_breaksr   rY   rB   rT   r*   r=   r>   r+   )	r   r   dtiiir   r.   r4   r?   r-   r   r   r    *test_getitem_intlist_intervalindex_non_int  s   

zDTestSeriesGetitemListLike.test_getitem_intlist_intervalindex_non_intr3   c                 C   s   t td|}tddd}tj||g}ttt|d d d |d}|dg}t	j
tdd	 ||  W d    d S 1 sBw   Y  d S )
Nr   r   r%   r   rF   r   rM   5r8   )r   rY   astyper   r   
MultiIndexfrom_productr   rB   r:   r;   rI   )r   r3   r   rU   r   mir   r4   r   r   r    -test_getitem_intlist_multiindex_numeric_level  s   

"zGTestSeriesGetitemListLike.test_getitem_intlist_multiindex_numeric_levelc                 C   s   t g d}tjdg|d}tjtdd ||  W d    n1 s$w   Y  tjtdd |j|  W d    d S 1 sAw   Y  d S )Nr   r   rE   4r8   )r   r2   arrayr:   r;   rI   loc)r   any_unsigned_int_numpy_dtyper   r4   r   r   r    test_getitem_uint_array_key  s   
"z5TestSeriesGetitemListLike.test_getitem_uint_array_keyN)r   r   r   r:   r   r   rZ   r2   r   r   r   r   r   r   rS   float64uint64r   r   r   r   r   r    r   e  s    

r   c                   @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )TestGetitemBooleanMaskc                 C   sH   |}||  k}|t| }|| }t|| t|j|j|  d S )N)medianrZ   r*   r+   assert_index_equalr   )r   string_seriesr   r|   r-   r.   r   r   r    test_getitem_boolean  s   z+TestGetitemBooleanMask.test_getitem_booleanc                 C   s
  t g tjd}d|j_||  }|jjdksJ |jtjks!J t ddgtd}t ttg ddd}|t g td }t	
|| d}tjt|d |t g td  W d    n1 s]w   Y  tjt|d |t d	gtd  W d    d S 1 s~w   Y  d S )
NrE   
index_namer   r   rS   )r3   r   sUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchr8   T)r   r2   rS   r   r)   isnar3   rH   r   r*   r+   r:   r;   r   bool)r   r   r.   r-   r?   r   r   r    test_getitem_boolean_empty  s"   "z1TestGetitemBooleanMask.test_getitem_boolean_emptyc           
      C   s   |}||  k}|t}|| }|| }t|| | }| }d||< d||< t|| tj|dd< d}	tj	t
|	d ||  W d    n1 sPw   Y  tj	t
|	d d||< W d    d S 1 slw   Y  d S )NrM   r6   z=Cannot mask with non-boolean array containing NA / NaN valuesr8   )r   r   rH   r*   r+   copyr2   nanr:   r;   r   )
r   r   r   r|   omaskr-   r.   s2copr?   r   r   r    test_getitem_boolean_object  s&   


"z2TestGetitemBooleanMask.test_getitem_boolean_objectc                 C   sh   t dddd}tg d}t|j}|| }|jjjd u s J ttd}|| }|jjd u s2J d S )Nz
2016-01-01r   z
US/Pacificrp   )TTFF)	r   r2   r   r   _data_values_ndarraybaserY   )r   r   r4   r   rV   ser2r   r   r   r     test_getitem_boolean_dt64_copies  s   
z7TestGetitemBooleanMask.test_getitem_boolean_dt64_copiesc                 C   s   |}|j dt d| k}d}tjt|d ||  W d    n1 s&w   Y  tjt|d |j|  W d    d S 1 sCw   Y  d S )Nr   rw   r   r8   )shiftr   r   r:   r;   r   r   )r   rC   rj   mask_shiftedr?   r   r   r    test_getitem_boolean_corner  s   
"z2TestGetitemBooleanMask.test_getitem_boolean_cornerc                 C   s0   |  }||dk }||dk }t|| d S )Nr   )sort_valuesr*   r+   )r   r   orderedselr   r   r   r    $test_getitem_boolean_different_order  s   z;TestGetitemBooleanMask.test_getitem_boolean_different_orderc                 C   s~   t dddd}tjt|td}d|dd< || }|dd }|j|jks(J t|| d|d	< || }|jd u s=J d S )
Nro   z3/1/2000r   rw   rE   Tr6         )r   r2   zerosrB   r   ra   r*   r   )r   rt   r|   maskedr.   r   r   r    -test_getitem_boolean_contiguous_preserve_freq
  s   zDTestGetitemBooleanMask.test_getitem_boolean_contiguous_preserve_freqN)
r   r   r   r   r   r   r   r   r   r   r   r   r   r    r     s    
r   c                   @   s   e Zd Zdd ZdS )TestGetitemCallablec                 C   s~   t dtdd}|dd  }||jd ksJ |dd  }|jddg }t|| |d	d  }|jg d
 }t|| d S )Nr   ABCDr   c                 S   s   dS )Nr   r   xr   r   r    <lambda>  s    z;TestGetitemCallable.test_getitem_callable.<locals>.<lambda>r   c                 S   s   ddgS )Nr   r   r   r  r   r   r    r  !      r   c                 S   s   g dS )N)TFTTr   r  r   r   r    r  %  r  )r   r$   r%   )r   rZ   r   r*   r+   rT   r,   r   r   r    test_getitem_callable  s   z)TestGetitemCallable.test_getitem_callableN)r   r   r   r  r   r   r   r    r    s    r  c                 C   sN   dd | D }| | }| t | dk }| | dk }t|| t|| d S )Nc                 s   s    | ]}|d kV  qdS )r   Nr   ).0r  r   r   r    	<genexpr>+  s    z)test_getitem_generator.<locals>.<genexpr>r   )iterr*   r+   )r   genr-   result2r.   r   r   r    test_getitem_generator*  s   r  seriesr   z
2012-01-01r$   r   CETrp   c                 C   sD   t jtdd | d d d f  W d    d S 1 sw   Y  d S r   )r:   r;   r   )r  r   r   r    test_getitem_ndim_deprecated3  s   	"r  c                 C   sT   | }|d }d}t jt|d |dddf  W d    d S 1 s#w   Y  d S )Nr   z\(2000, slice\(3, 4, None\)\)r8   r   r%   r   )r:   r;   r   )/multiindex_year_month_day_dataframe_random_datadfr   r?   r   r   r    4test_getitem_multilevel_scalar_slice_not_implemented@  s   "r  c                  C   sh   t td} td| d}t| | d}d}tjt|d ||dk  W d    d S 1 s-w   Y  d S )Nr6   r   zWIndexing a Series with DataFrame is not supported, use the appropriate DataFrame columnr8   rM   )rZ   rY   r   r	   r:   r;   r   )rt   r   r  r?   r   r   r    test_getitem_dataframe_raisesL  s   "r  c                  C   sF   t td} tg d}t g d| |< t g d}t| | d S )Nr6   )r$   r   rx   )r6      rd   )
r   r   r6   r%   r  rM   rL   r   r   rd   )r   rY   r2   r   r*   r+   )r   rU   r.   r   r   r    (test_getitem_assignment_series_alignmentX  s
   r  c                  C   s   t g dg dd} tjtdd | d   W d    n1 s w   Y  tjtdd | jd  W d    n1 s=w   Y  tjtdd | jjd  W d    d S 1 s\w   Y  d S )N)r$   rM   rL   r   )g       @r   r   g      @r   Noner8   )r   r:   r;   rI   r   r   _enginer   r   r   r    9test_getitem_duplicate_index_mistyped_key_raises_keyerrorb  s   
"r  c                  C   s:   t td} tdf}| | }| |d  }t|| d S )NrM   r%   r   )r   rY   r   r*   r+   )r   r4   r-   r.   r   r   r    ,test_getitem_1tuple_slice_without_multiindexo  s
   
r  c                 C   s   | | dk }|j | j ksJ d}tjt|d | g d }W d    n1 s(w   Y  |j | j ks5J | dd }|j | j ksCJ d S )Nr   r7   r8   )r   r$   r   rM   r6   )r)   r*   r=   r>   )rC   r-   r?   r   r   r    test_getitem_preserve_namex  s   r  c                  C   s   t tjddttdddd} g d}tg d}tj	t
dd | |  W d    n1 s4w   Y  tj	t
dd | |  W d    d S 1 sPw   Y  d S )	Nr$   r6   r   r   r   )r   r$   rM   r   r   znot in indexr8   )r   r2   rN   rO   rP   rZ   rY   r   r:   r;   rI   )r   indsarr_indsr   r   r     test_getitem_with_integer_labels  s   

"r  c                 C   sP   | j d t  }d}tjt|d | |  W d    d S 1 s!w   Y  d S )Nr   z"Timestamp\('1999-12-31 00:00:00'\)r8   )r   r   r:   r;   rI   )rC   dr?   r   r   r    test_getitem_missing  s
   
"r!  c                 C   s   d}t jt|d | g d }|g d }W d    n1 s w   Y  | jd |jd ks1J |jd |jd ks=J | jd |jd ksIJ |jd |jd ksUJ d S )Nr7   r8   r   r$   r   )r*   r=   r>   r   rT   )r   object_seriesr?   slice1slice2r   r   r    test_getitem_fancy  s   r%  c                 C   sN   d}t jt|d | d }W d    n1 sw   Y  t|tjs%J d S )Nr7   r8   rM   )r*   r=   r>   
isinstancer2   r   )rC   r?   valuer   r   r    test_getitem_box_float64  s
   
r(  c                  C   s8   t tdg dd} t| d sJ | d dksJ d S )NrM   )r   r   r   r   r   r   r   r   )r   rY   r   )objr   r   r    test_getitem_unordered_dup  s   r*  c                  C   sH   t tdg dtjd} t ddgddgtjd}| d }t|| d S )NrM   )r   r   r   r   r   r   r%   r   r   )r   rY   r2   rS   r*   r+   )r   r.   r-   r   r   r    test_getitem_dups  s   r+  c                  C   s>   t tdtg dd} | d }| jddg }t|| d S )NrM   )r   r   r   r   r   r   r   r   r%   )r   rY   r   rT   r*   r+   )r   r-   r.   r   r   r    test_getitem_categorical_str  s   r,  c                  C   s"   t dg dd} | d d d  d S )Nr   )r   r   r   r   r   r   rF   )r   r  r   r   r    +test_slice_can_reorder_not_uniquely_indexed  s   r-  
index_valsaabcdaadcbc                 C   s^   t tdt| d}d}tjt|d |d }W d    n1 s"w   Y  |dks-J d S )NrM   r   r7   r8   r%   )r   rY   rZ   r*   r=   r>   )r.  sr?   r-   r   r   r    0test_duplicated_index_getitem_positional_indexer  s   
r2  c                   @   sL   e Zd Zejddhddigdd Zejddhddigdd ZdS )TestGetitemDeprecatedIndexersr4   r   c                 C   sH   t g d}tjtdd ||  W d    d S 1 sw   Y  d S )Nr   as an indexer is not supportedr8   r   r:   r;   r   r   r4   r   r   r   r    $test_getitem_dict_and_set_deprecated  rK   zBTestGetitemDeprecatedIndexers.test_getitem_dict_and_set_deprecatedc                 C   sH   t g d}tjtdd d||< W d    d S 1 sw   Y  d S )Nr   r4  r8   r   r5  r6  r   r   r    $test_setitem_dict_and_set_disallowed  rK   zBTestGetitemDeprecatedIndexers.test_setitem_dict_and_set_disallowedN)r   r   r   r:   r   r   r7  r8  r   r   r   r    r3    s
    
r3  )7__doc__r   r   r   numpyr2   r:   pandas._libs.tslibsr   r   pandas.core.dtypes.commonr   pandasr   r   r	   r
   r   r   r   r   r   r   pandas._testing_testingr*   pandas.core.indexingr   pandas.tseries.offsetsr   r   r   r   r   r  r  r   r   r  r  r  r  r  r  r  r  r!  r%  r(  r*  r+  r,  r-  r2  r3  r   r   r   r    <module>   sX    , = At	


	

