U
    ¾mœd¶X  ã                   @   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   sB   t dgd tddddgƒd�}|d dks.t‚|d dks>t‚d S )Né   é   ÚaÚbÚcg      ð?©Úindex)r   r   ÚAssertionError©ÚselfÚser© r   úb/home/sam/Atlas/atlas_env/lib/python3.8/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   sv   t dddgdddgdd�}|d }|dks.t‚t ddgddgdd�}t dddgdddgdd�}|d }t ||¡ d S )	N)r   r   )é   r"   )é   r#   g        gš™™™™™¹?gš™™™™™É?Zfoo)r   Úname)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>t‚d S )Nr   r"   ÚOÚi8r   )r   ÚnpÚdtyper   r   )r   r   Úkeyr(   r   r   r    Ú test_getitem_unrecognized_scalar<   s     
z9TestSeriesGetitemScalars.test_getitem_unrecognized_scalarc              	   C   sF   t t dd¡t dd¡d�}d}tjt|d�� |d  W 5 Q R X d S )Né   é
   r   z2index -11 is out of bounds for axis 0 with size 10©Úmatchiõÿÿÿ)r   r%   Zrands_arrayÚpytestÚraisesÚ
IndexError)r   r   Úmsgr   r   r    Ú#test_getitem_negative_out_of_boundsG   s    z<TestSeriesGetitemScalars.test_getitem_negative_out_of_boundsc              	   C   s.   d}t jt|d�� |t|ƒ  W 5 Q R X d S )Nz3index \d+ is out of bounds for axis 0 with size \d+r3   )r5   r6   r7   Úlen©r   Údatetime_seriesr8   r   r   r    Ú%test_getitem_out_of_bounds_indexerrorN   s    z>TestSeriesGetitemScalars.test_getitem_out_of_bounds_indexerrorc              	   C   s2   t g td�}tjtdd�� |d  W 5 Q R X d S )N©r.   z-1r3   éÿÿÿÿ©r   Úobjectr5   r6   ÚKeyErrorr   r   r   r    Ú4test_getitem_out_of_bounds_empty_rangeindex_keyerrorT   s    zMTestSeriesGetitemScalars.test_getitem_out_of_bounds_empty_rangeindex_keyerrorc              	   C   sØ   |}t tj d¡tddddddg|d�d�}tjtdd�� |d	  W 5 Q R X tjtd
d�� |d  W 5 Q R X t tj d¡ddddddgd�}tjtdd�� |d	  W 5 Q R X tjtd
d�� |d  W 5 Q R X d S )Né   r   r   r"   r>   r   z^5$r3   r1   z^'c'$r   )r   r-   ÚrandomÚrandnr   r5   r6   rB   )r   Zany_int_numpy_dtyper.   r   r   r   r    Ú(test_getitem_keyerror_with_integer_index[   s    ( zATestSeriesGetitemScalars.test_getitem_keyerror_with_integer_indexc                 C   s"   t  d¡}|| |d kst‚d S ©Nr1   )r-   Úint64r   )r   r<   Úidxr   r   r    Útest_getitem_int64n   s    
z+TestSeriesGetitemScalars.test_getitem_int64c                 C   s8   t tdƒttdƒƒd�}|ttdƒƒ }t ||¡ d S )Nr1   r   ©r   ÚrangeÚlistr%   r&   ©r   r   r(   r   r   r    Útest_getitem_full_ranger   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sdt	‚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)rV   iÜ  é   é   é   r   )
r   Zmaybe_get_tzr   r   Úhourr   r   r   Zlocalize_pydatetimer   )r   rQ   rV   r   ÚtsZtime_pandasÚdtZtime_datetimer   r   r    Útest_getitem_pydatetime_tz{   s    
   ÿz3TestSeriesGetitemScalars.test_getitem_pydatetime_tzrV   z
US/Easternzdateutil/US/Easternc                 C   sB   t dd|d�}ttj t|ƒ¡|d�}|d }t ||d ¡ d S )Nú1/1/2000r2   ©ÚperiodsrV   r   ú1/3/2000r"   )r   r   r-   rE   rF   r:   r%   Zassert_almost_equal)r   rV   Úrngr   r(   r   r   r    Ú test_string_index_alias_tz_aware‰   s    z9TestSeriesGetitemScalars.test_string_index_alias_tz_awarec                 C   sn   t dddd�}ttj t|ƒ¡|d�}|jdk|jdk@ }|tddƒ }|| }|j	 
d ¡|_	t ||¡ d S )Nr_   z1/5/2000Z5min©rU   r   é	   é   )r   r   r-   rE   rF   r:   r[   Úminuter   r   Ú
_with_freqr%   r&   )r   rc   r\   Ú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sFt‚d S )Nz
12-31-1999z
12-31-2000r   r"   r   r   )r   r   r   Úilocr   )r   Zcatsr   r)   r(   r   r   r    Ú%test_getitem_scalar_categorical_indexž   s
    
z>TestSeriesGetitemScalars.test_getitem_scalar_categorical_indexc                 C   s|   t dddgt dddg¡d�}|d dks.t‚|dg }|jdd … }t ||¡ |dddg }t ||jd d d… ¡ d S )	Nr   r   r   r"   r   r   r   r?   )r   ÚpdZCategoricalIndexr   rl   r%   r&   )r   r   Úresr)   Úres2r   r   r    Ú8test_getitem_numeric_categorical_listlike_matches_scalar§   s    
zQTestSeriesGetitemScalars.test_getitem_numeric_categorical_listlike_matches_scalarc                 C   sF   t dddgtdddgdd�d	�}| d¡dks2t‚|d dksBt‚d S )
Nr   r   r   r   r"   r#   Úcategoryr>   r   )r   r   Úgetr   r   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>t‚|| }||jd ksXt‚d}tj	t
|d	�� | d
¡ W 5 Q R X tj	t
|d	�� |d
  W 5 Q R X d S )Nú1 day 10:11:12Úhéô  ©rU   ra   r   z6 days, 23:11:12é…   z!^Timedelta\('50 days 00:00:00'\)$r3   z50 days)r   r   r-   Úaranger:   Úget_locr   rl   r5   r6   rB   )r   rc   r   r/   Úindexerr(   r8   r   r   r    Ú$test_getitem_str_with_timedeltaindex¼   s    
z=TestSeriesGetitemScalars.test_getitem_str_with_timedeltaindexc                 C   s&   t dddœƒ}|d }|dks"t‚d S )Nr   r   )TF)r   r   rO   r   r   r    Ú"test_getitem_bool_index_positionalÍ   s    z;TestSeriesGetitemScalars.test_getitem_bool_index_positionalN)Ú__name__Ú
__module__Ú__qualname__r!   r*   r0   r9   r=   rC   rG   rK   rP   r5   ÚmarkÚparametrizer^   rd   rk   rm   rq   rt   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ƒdddggeedddƒdƒdggeedddƒdƒg gededddƒƒdddg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/2009Z2008z
2008-01-01z
2008-12-31)rS   rT   r   )r   Z	to_seriesr   r%   r&   )r   Zarrr   r(   rc   r)   r   r   r    Ú1test_getitem_partial_str_slice_with_datetimeindexÕ   s    
zITestSeriesGetitemSlices.test_getitem_partial_str_slice_with_datetimeindexc                 C   sv   t dddddgƒ}ttj t|ƒ¡|d�}|dd … }|dd … }t ||¡ |dd… }|dd… }t ||¡ d S )Nr_   z1/2/2000rb   z1/4/2000r   r   r   )r
   r   r-   rE   rF   r:   r%   r&   )r   rJ   r\   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 )
Nru   rv   rw   rx   r   z5 dayz6 dayéV   é†   )r   r   r-   rz   r:   rl   r%   r&   ©r   rc   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sŠt‚d S )Nru   ÚuséÐ  rx   r   r   z1 day 10:11:12.001iè  z1 days, 10:11:12.001001ié  )	r   r   r-   rz   r:   rl   r%   r&   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   s0   t jtdd�� |d d …tjf  W 5 Q R X d S ©NzMulti-dimensional indexingr3   )r5   r6   Ú
ValueErrorr-   Znewaxis)r   r<   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�}tddd ƒg}d	}tjt|d
�� ||  W 5 Q R X ||d f }||d  }t	 
||¡ d S )NZ20090415Z20090519Z2Bre   é   r   rD   é   z Indexing with a single-item listr3   r   )r   r   r-   rE   rF   Úslicer5   r6   r�   r%   r&   )r   r   r   r|   r8   r(   r)   r   r   r    Útest_getitem_median_slice_bug  s    z5TestSeriesGetitemSlices.test_getitem_median_slice_bugzslc, positionsiâ  r   Nr   r"   iã  iä  c                 C   s<   t dddgtdddgƒƒ}|| }| |¡}t ||¡ d S )Nr   r   r"   z
2019-01-01z2019-01-01T06:00:00z
2019-01-02)r   r
   Ztaker%   r&   )r   ZslcZ	positionsr   r(   r)   r   r   r    Útest_getitem_slice_date"  s    þ
z/TestSeriesGetitemSlices.test_getitem_slice_datec              	   C   sd   d}t jt|jdd�d�� |dd…  W 5 Q R X t jt|jdd�d�� |dd…  W 5 Q R X d S )	NzUcannot do slice indexing on DatetimeIndex with these indexers \[{key}\] of type floatz4\.0)r/   r3   ç      @g      $@z4\.5g      @)r5   r6   Ú	TypeErrorÚformatr;   r   r   r    Útest_getitem_slice_float_raises6  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 )Nr2   r   iôÿÿÿiùÿÿÿr#   r   rL   rO   r   r   r    Útest_getitem_slice_bugA  s    z.TestSeriesGetitemSlices.test_getitem_slice_bugc              
   C   s^   t tj d¡ddddddddgd	�}|d d… }t |jd d… ddddgd	�}t ||¡ d S )
Né   r"   r   rD   r2   rX   é   é   r   )r   r-   rE   rF   Úvaluesr%   r&   r'   r   r   r    Útest_getitem_slice_integersL  s    $z3TestSeriesGetitemSlices.test_getitem_slice_integers)r   r€   r�   r…   r†   rŠ   r�   r�   r”   r5   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   sL   t ddgƒ}t dgtd�}||ƒ}d}tjt|d�� ||  W 5 Q R X d S )NÚAÚBÚCr>   zANone of \[Index\(\['C'\], dtype='object'\)\] are in the \[index\]r3   r@   )r   r¡   r   r/   r8   r   r   r    Útest_getitem_no_matchesU  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sbt‚d S )Nz
2000-01-01r2   ÚD)ra   rU   r"   r   ú
2000-01-03re   z
2000-01-05z	Period[D]©r   r.   )r   r   rn   ZPeriodr%   r&   r.   r   )r   r   r(   Úexpr   r   r    Ú*test_getitem_intlist_intindex_periodvaluesa  s    ýzDTestSeriesGetitemListLike.test_getitem_intlist_intindex_periodvaluesc                 C   sb   t ddd� d ¡}tj |¡}ttt|ƒƒ|d�}|jd d… }|dgƒ}|| }t	 
||¡ d S )Nr§   r#   ©ra   r   r   r   )r   ri   rn   ZIntervalIndexZfrom_breaksr   rM   r:   rl   r%   r&   )r   r¡   ÚdtiÚiir   r)   r/   r(   r   r   r    Ú*test_getitem_intlist_intervalindex_non_intm  s    
zDTestSeriesGetitemListLike.test_getitem_intlist_intervalindex_non_intr.   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 5 Q R X d S )
Nr   r§   r#   r«   r?   r   r1   Ú5r3   )r   rM   Úastyper   rn   Z
MultiIndexZfrom_productr   r:   r5   r6   rB   )r   r.   r¡   rJ   r¬   Úmir   r/   r   r   r    Ú-test_getitem_intlist_multiindex_numeric_levely  s    
zGTestSeriesGetitemListLike.test_getitem_intlist_multiindex_numeric_levelc              	   C   sh   t dddgƒ}tjdg|d�}tjtdd�� ||  W 5 Q R X tjtdd�� |j|  W 5 Q R X d S )Nr   r"   r#   r   r>   Ú4r3   )r   r-   Úarrayr5   r6   rB   Úloc)r   Zany_unsigned_int_numpy_dtyper   r/   r   r   r    Útest_getitem_uint_array_key†  s    z5TestSeriesGetitemListLike.test_getitem_uint_array_keyN)r   r€   r�   r5   r‚   rƒ   rN   r-   r´   r   r   r¥   rª   r®   rI   Úfloat64Zuint64r²   r¶   r   r   r   r    r    T  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)ÚmedianrN   r%   r&   Úassert_index_equalr   )r   Ústring_seriesr   rj   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s2t‚|jtjksBt‚t ddgƒ}t tt	g dd�d�}|t g td� }t
 ||¡ d}tjt|d�� |t g td�  W 5 Q R X tjt|d�� |t d	gtd�  W 5 Q R X d S )
Nr>   Z
index_namer¢   r£   rI   )r.   r   úsUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchr3   T)r   r-   rI   r   r$   Zisnar   r.   rA   r   r%   r&   r5   r6   r   Úbool)r   r   r)   r(   r8   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 5 Q R X tj	t
|	d�� d||< W 5 Q R X d S )Nr1   r2   z=Cannot mask with non-boolean array containing NA / NaN valuesr3   )r¹   r°   rA   r%   r&   Úcopyr-   Únanr5   r6   r�   )
r   r»   r   rj   Zomaskr(   r)   Ús2Úcopr8   r   r   r    Útest_getitem_boolean_object¶  s"    
z2TestGetitemBooleanMask.test_getitem_boolean_objectc                 C   sl   t dddd�}t ddddg¡}t|jƒ}|| }|jjjd ksDt‚tt	dƒƒ}|| }|jjd ksht‚d S )Nz
2016-01-01r   z
US/Pacificr`   TF)
r   r-   r´   r   Ú_dataZ_valuesZ_ndarrayÚbaser   rM   )r   r¬   r/   r   ro   Zser2rp   r   r   r    Ú test_getitem_boolean_dt64_copiesÑ  s    
z7TestGetitemBooleanMask.test_getitem_boolean_dt64_copiesc              	   C   sj   |}|j dtƒ d�| ¡ k}d}tjt|d�� ||  W 5 Q R X tjt|d�� |j|  W 5 Q R X d S )Nr   re   r½   r3   )Úshiftr   r¹   r5   r6   r   rµ   )r   r<   r\   Zmask_shiftedr8   r   r   r    Útest_getitem_boolean_cornerà  s    ÿz2TestGetitemBooleanMask.test_getitem_boolean_cornerc                 C   s0   |  ¡ }||dk }||dk }t ||¡ d S )Nr   )Zsort_valuesr%   r&   )r   r»   Z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sPt‚t ||¡ d|d	< || }|jd kszt‚d S )
Nr_   z3/1/2000r£   re   r>   Tr2   é   é   )	r   r-   Zzerosr:   r¾   rU   r   r%   rº   )r   rc   rj   Z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.t‚|dd„  }|jddg }t ||¡ |d	d„  }|jd
ddg }t ||¡ d S )Nr   ZABCDr   c                 S   s   dS )Nr¢   r   ©Úxr   r   r    Ú<lambda>	  ó    z;TestGetitemCallable.test_getitem_callable.<locals>.<lambda>r¢   c                 S   s   ddgS )Nr¢   r£   r   rÐ   r   r   r    rÒ     rÓ   r£   c                 S   s   ddddgS )NTFr   rÐ   r   r   r    rÒ     rÓ   r   r"   r#   )r   rN   rµ   r   r%   r&   rl   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(   Zresult2r)   r   r   r    Útest_getitem_generator  s    rÙ   Úseriesr   z
2012-01-01r"   r«   ZCETr`   c              	   C   s.   t jtdd�� | d d …d f  W 5 Q R X d S rŽ   )r5   r6   r�   )rÚ   r   r   r    Útest_getitem_ndim_deprecated  s    	rÛ   c              	   C   s>   | }|d }d}t jt|d�� |ddd…f  W 5 Q R X d S )Nr¢   z\(2000, slice\(3, 4, None\)\)r3   rŒ   r#   r   )r5   r6   r—   )Z/multiindex_year_month_day_dataframe_random_dataÚdfr   r8   r   r   r    Ú4test_getitem_multilevel_scalar_slice_not_implemented+  s
    rÝ   c               	   C   sR   t tdƒƒ} td| d�}t| | d�}d}tjt|d�� ||dk  W 5 Q R X d S )Nr2   r   zWIndexing a Series with DataFrame is not supported, use the appropriate DataFrame columnr3   r1   )rN   rM   r   r	   r5   r6   r—   )rc   r   rÜ   r8   r   r   r    Útest_getitem_dataframe_raises7  s    ÿrÞ   c                  C   sZ   t tdƒƒ} t dddg¡}t dddgƒ| |< t dddd	dd
ddddg
ƒ}t | |¡ d S )Nr2   r"   r   rf   é   rX   r   r   r#   r1   rD   r’   r›   )r   rM   r-   r´   r%   r&   )r   rJ   r)   r   r   r    Ú'test_getitem_assignment_series_aligmentC  s
    rà   c               	   C   s�   t ddddgddddgd�} tjtd	d
�� | d   W 5 Q R X tjtd	d
�� | j d ¡ W 5 Q R X tjtd	d
�� | jj d ¡ W 5 Q R X d S )Nr"   r1   rD   r›   g       @r–   g      @r   ÚNoner3   )r   r5   r6   rB   r   r{   Z_engine©r   r   r   r    Ú9test_getitem_duplicate_index_mistyped_key_raises_keyerrorM  s    rã   c                  C   s:   t tdƒƒ} tdƒf}| | }| |d  }t ||¡ d S )Nr1   r#   r   )r   rM   r“   r%   r&   )r   r/   r(   r)   r   r   r    Ú,test_getitem_1tuple_slice_without_multiindexZ  s
    
rä   c                 C   sZ   | | dk }|j | j kst‚| dddg }|j | j ks:t‚| dd… }|j | j ksVt‚d S )Nr   r"   r   r1   r2   )r$   r   )r<   r(   r   r   r    Útest_getitem_preserve_namec  s    rå   c               	   C   sŠ   t tj d¡ttdddƒƒd�} dddddg}t dddddg¡}tjt	d	d
�� | |  W 5 Q R X tjt	d	d
�� | |  W 5 Q R X d S )Nr2   r   rÌ   r"   r   r1   r’   r›   znot in indexr3   )
r   r-   rE   rF   rN   rM   r´   r5   r6   rB   )r   ZindsZarr_indsr   r   r    Ú test_getitem_with_integer_labelsn  s     ræ   c              	   C   s:   | j d tƒ  }d}tjt|d�� | |  W 5 Q R X d S )Nr   z"Timestamp\('1999-12-31 00:00:00'\)r3   )r   r   r5   r6   rB   )r<   Údr8   r   r   r    Útest_getitem_missingz  s    rè   c                 C   sx   | dddg }|dddg }| j d |j d ks4t‚|j d |j d ksLt‚| d |d ks`t‚|d |d kstt‚d S )Nr   r"   r#   )r   r   )r»   Zobject_seriesZslice1Zslice2r   r   r    Útest_getitem_fancy‚  s    ré   c                 C   s   | d }t |tjƒst‚d S rH   )Ú
isinstancer-   r·   r   )r<   Úvaluer   r   r    Útest_getitem_box_float64‹  s    rì   c                  C   s>   t tdƒdddddgd�} t| d ƒs*t‚| d dks:t‚d S )Nr1   r   r   r   r   r   )r   rM   r   r   )Úobjr   r   r    Útest_getitem_unordered_dup�  s    rî   c                  C   sN   t tdƒdddddgtjd�} t ddgddgtjd�}| d }t ||¡ d S )Nr1   r¢   r£   r¤   r¨   r#   r   )r   rM   r-   rI   r%   r&   )r   r)   r(   r   r   r    Útest_getitem_dups–  s    rï   c                  C   sD   t tdƒtdddddgƒd�} | d }| jddg }t ||¡ d S )Nr1   r   r   r   r   r   r#   )r   rM   r   rl   r%   r&   )r   r(   r)   r   r   r    Útest_getitem_categorical_str�  s    rð   c                  C   s(   t ddddddgd�} | d d d…  d S )Nr   r   r   r   r   r?   )r   râ   r   r   r    Ú+test_slice_can_reorder_not_uniquely_indexed¥  s    rñ   Ú
index_valsZaabcdZaadcbc                 C   s,   t tdƒt| ƒd�}|d }|dks(t‚d S )Nr1   r   r#   )r   rM   rN   r   )rò   Úsr(   r   r   r    Ú0test_duplicated_index_getitem_positional_indexerª  s    rô   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 )ÚTestGetitemDeprecatedIndexersr/   r   c              	   C   s4   t dddgƒ}tjtdd�� ||  W 5 Q R X d S ©Nr   r"   r#   zas an indexer is not supportedr3   ©r   r5   r6   r—   ©r   r/   r   r   r   r    Ú$test_getitem_dict_and_set_deprecated³  s    zBTestGetitemDeprecatedIndexers.test_getitem_dict_and_set_deprecatedc              	   C   s4   t dddgƒ}tjtdd�� d||< W 5 Q R X d S rö   r÷   rø   r   r   r    Ú$test_setitem_dict_and_set_disallowedº  s    zBTestGetitemDeprecatedIndexers.test_setitem_dict_and_set_disallowedN)r   r€   r�   r5   r‚   rƒ   rù   rú   r   r   r   r    rõ   ²  s   
rõ   )7Ú__doc__r   r   r   Únumpyr-   r5   Zpandas._libs.tslibsr   r   Zpandas.core.dtypes.commonr   Zpandasrn   r   r	   r
   r   r   r   r   r   r   Zpandas._testingZ_testingr%   Zpandas.core.indexingr   Z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ñ   rô   rõ   r   r   r   r    Ú<module>   sV   , / =t	
ýþ

		
