o
    �¨Êhæg  ã                   @   sœ   d Z ddlmZmZ ddl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mZ ddlmZ ejdd„ ƒZG dd„ dƒZG d	d
„ d
ƒZG dd„ dƒZdS )z/
See also: test_reindex.py:TestReindexSetIndex
é    ©ÚdatetimeÚ	timedeltaN)
ÚCategoricalÚCategoricalIndexÚ	DataFrameÚDatetimeIndexÚIndexÚ
MultiIndexÚSeriesÚ
date_rangeÚperiod_rangeÚto_datetimec               	   C   sP   t g d¢g d¢g d¢tj d¡ d¡tj d¡ d¡tj d¡ d¡dœƒ} | S )aM  
    Fixture for DataFrame of columns that can be used for indexing

    Columns are ['A', 'B', 'C', 'D', 'E', ('tuple', 'as', 'label')];
    'A' & 'B' contain duplicates (but are jointly unique), the rest are unique.

         A      B  C         D         E  (tuple, as, label)
    0  foo    one  a  0.608477 -0.012500           -1.664297
    1  foo    two  b -0.633460  0.249614           -0.364411
    2  foo  three  c  0.615256  2.154968           -0.834666
    3  bar    one  d  0.234246  1.085675            0.718445
    4  bar    two  e  0.533841 -0.005702           -3.533912
    )Úfoor   r   Úbarr   )ÚoneÚtwoÚthreer   r   )ÚaÚbÚcÚdÚeé   é   )ÚAÚBÚCÚDÚE©ÚtupleÚasÚlabel)r   ÚnpÚrandomÚdefault_rngÚstandard_normal©Údf© r*   ú[/var/www/html/env/lib/python3.10/site-packages/pandas/tests/frame/methods/test_set_index.pyÚframe_of_index_cols   s   úÿ
r,   c                   @   sh  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ddgdg¡ej dddg¡ej dddg¡dd„ ƒƒƒZej dddddgdg¡ej dddg¡dd„ ƒƒZej dddddgdg¡ej dddg¡d d!„ ƒƒZd"d#„ Zej d$eeejed%d&„ d'd&„ g¡ej d(g d)¢¡ej dddg¡d*d+„ ƒƒƒZej d$eeejed,d&„ g¡ej d(g d-¢¡ej dddg¡d.d/„ ƒƒƒZej d0eeejeed1d&„ d2d&„ g¡ej d3eeejeed4d&„ d5d&„ g¡ej d(g d6¢¡ej dddg¡d7d8„ ƒƒƒƒZej d9ddg¡ej dddg¡d:d;„ ƒƒZd<d=„ Zd>d?„ Zd@dA„ ZdBdC„ Z dDS )EÚTestSetIndexc                 C   sF   g d¢g d¢dœ}t |ƒ}g d¢}||d< t |d ¡}| |¡ d S )N)r   g      @é   )é   r   é   )Út1Út2))r   é   )r   r   )r3   r   Útuples)r   r
   Úfrom_tuplesÚ	set_index)Úselfr   r)   r4   Úindexr*   r*   r+   Útest_set_index_multiindex9   s   z&TestSetIndex.test_set_index_multiindexc                 C   s~   t dddœdddœddd	d
œdddd
œgg d¢d�}| ddg¡}|ddg }tj|d |d gddgd�|_t ||¡ d S )Nr3   r   )r   Úpr   é
   )r   Úmr.   é   é   )r   r<   r:   r/   é   é   )r   r<   r:   Úx©Úcolumnsr   rA   r<   r:   ©Únames)r   r6   r
   Úfrom_arraysr8   ÚtmÚassert_frame_equal)r7   r)   ÚresultÚexpectedr*   r*   r+   Útest_set_index_empty_columnD   s   

üù
 z(TestSetIndex.test_set_index_empty_columnc                 C   sT   t tdd�tdd�g dœƒ}| ddg¡}|j ¡ j}|ddg j}t ||¡ d S )Nzdatetime64[ns]©ÚdtypeÚint64©r   r   r   r   r   )r   r   r6   r8   Úto_frameÚdtypesrG   Úassert_series_equal)r7   Údf1Údf2rI   rJ   r*   r*   r+   Útest_set_index_empty_dataframeV   s   ÿz+TestSetIndex.test_set_index_empty_dataframec                 C   s„   t  g d¢¡}ttj d¡ d¡|d�}| |jd ¡}|j	d d …dd …f }|j	d d …df j
|_|jd g|j_t ||¡ d S )N))r   r3   )r   r   )r   r3   r   )r.   r.   rB   r   r3   )r
   r5   r   r$   r%   r&   r'   r6   rC   ÚilocÚvaluesr8   rE   rG   rH   )r7   rC   r)   rI   rJ   r*   r*   r+   Ú test_set_index_multiindexcolumnsa   s   ÿz-TestSetIndex.test_set_index_multiindexcolumnsc                 C   sv   t dgdd� d¡}td|iƒ}| |¡jd jdksJ ‚t t|jƒƒd jdks+J ‚| |j¡jd jdks9J ‚d S )Nz2014-01-01 10:10:10ÚUTC©ÚtzzEurope/Romer   r   r=   )r   Ú
tz_convertr   r6   r8   Úhourr   r   )r7   Úidxr)   r*   r*   r+   Útest_set_index_timezonen   s
    z$TestSetIndex.test_set_index_timezonec                 C   sH   t dd„ tdƒD ƒtj d¡ d¡dœƒ}| d¡}t|jt	ƒs"J ‚d S )Nc                 S   s    g | ]}t d ddƒt|ƒ ‘qS )iÐ  r3   r   ©Ú.0Úir*   r*   r+   Ú
<listcomp>z   s     zBTestSetIndex.test_set_index_cast_datetimeindex.<locals>.<listcomp>iè  r   ©r   r   r   )
r   Úranger$   r%   r&   r'   r6   Ú
isinstancer8   r   )r7   r)   Úidfr*   r*   r+   Ú!test_set_index_cast_datetimeindexw   s   þÿ
z.TestSetIndex.test_set_index_cast_datetimeindexc                 C   sÀ   t ddddd�}tg d¢g d¢dœ|d	� ¡ }| d
¡}tg d¢g d¢dœt|d
d�d	�}|j d ¡|_t ||¡ | d
dg¡}t	j
|g d¢gd
dgd�}tdg d¢i|d�}t ||¡ d S )Nz2006-10-29 00:00:00r.   Úhú
US/Pacific)ÚperiodsÚfreqr[   ©r   r3   r   )r.   r/   r   )r   r   )Údatar8   r8   ©Únamer   rD   r   ©r8   )r   r   Úreset_indexr6   r	   r8   Ú
_with_freqrG   rH   r
   rF   )r7   Údir)   ÚresÚexpÚ	exp_indexr*   r*   r+   Útest_set_index_dst‚   s   

þzTestSetIndex.test_set_index_dstc                 C   s€   |}t t t|ƒ¡d d d… ƒ}| |¡}t |j|¡ tj	t
dd�� | |d d d… ¡ W d   ƒ d S 1 s9w   Y  d S )NéÿÿÿÿzLength mismatch©Úmatchr   )r	   r$   ÚarangeÚlenr6   rG   Úassert_index_equalr8   ÚpytestÚraisesÚ
ValueError)r7   Úfloat_string_framer)   r^   r*   r*   r+   Útest_set_index•   s   
"ÿzTestSetIndex.test_set_indexc                 C   s6  t t d¡ttdƒtd�tdd„ tdƒD ƒtd�d�}d|j_| 	|j¡jj
dgks,J ‚tj|d	d
g jjd	d
gd�}tj|g d¢ jjg d¢d�}| 	d	d
g¡}| 	|j¡jj
d	d
gks_J ‚t| 	|j¡jtƒskJ ‚t | 	|j¡j|¡ |j ddg¡}t| 	|j|g¡jtƒsŒJ ‚t | 	|j|g¡j|¡ d S )N)r;   r/   ÚABCDrL   c                 S   s   g | ]}d |› �‘qS )zi-r*   r`   r*   r*   r+   rc   ¢   s    z5TestSetIndex.test_set_index_names.<locals>.<listcomp>r;   )rC   r8   rp   r   r   rD   )r   r   r   r   )r   r   r   r   r   r   )r   r$   Úonesr	   ÚlistÚobjectre   r8   rp   r6   rE   r
   rF   ÚTrW   rf   rG   r~   Úrename)r7   r)   ÚmiÚmi2Úidx2r*   r*   r+   Útest_set_index_namesž   s$   ýÿz!TestSetIndex.test_set_index_namesÚkeysr   r   r   r    ÚinplaceTFÚdropc           	         s    |‰ t |tƒrtj‡ fdd„|D ƒ|d�}ntˆ | |d�}|r'ˆ j|dd�nˆ }||_|rAˆ  ¡ }|j||dd�}|d u s@J ‚nˆ j||d	�}t	 
||¡ d S )
Nc                    ó   g | ]}ˆ | ‘qS r*   r*   ©ra   rA   r(   r*   r+   rc   È   ó    z<TestSetIndex.test_set_index_drop_inplace.<locals>.<listcomp>rD   ro   r3   ©ÚaxisT)r�   r�   )r�   )rf   r†   r
   rF   r	   r�   r8   Úcopyr6   rG   rH   )	r7   r,   r�   r�   rŽ   r^   rJ   rI   Úreturn_valuer*   r(   r+   Útest_set_index_drop_inplaceÁ   s   
z(TestSetIndex.test_set_index_drop_inplacec                    s‚   |‰ t |tƒr	|n|g}tjˆ jg‡ fdd„|D ƒ d g| d�}|r*ˆ j|dd�nˆ  ¡ }||_ˆ j||dd�}t 	||¡ d S )Nc                    r‘   r*   r*   r’   r(   r*   r+   rc   ß   r“   z6TestSetIndex.test_set_index_append.<locals>.<listcomp>rD   r3   r”   T©r�   Úappend)
rf   r†   r
   rF   r8   r�   r–   r6   rG   rH   )r7   r,   r�   rŽ   r^   rJ   rI   r*   r(   r+   Útest_set_index_appendØ   s    ÿz"TestSetIndex.test_set_index_appendc                 C   s\   |j dg|dd�}t|tƒr|n|g}|j dg| |dd�}|j ||dd�}t ||¡ d S )Nr   Tr™   )r6   rf   r†   rG   rH   )r7   r,   r�   rŽ   r)   rJ   rI   r*   r*   r+   Ú#test_set_index_append_to_multiindexé   s
   z0TestSetIndex.test_set_index_append_to_multiindexc                 C   sd   t g d¢g d¢dœƒ}t dddgitddgd	d
�ƒ}|j|j dd„ ¡ }| d	¡}t ||¡ d S )Nrm   rO   )ÚvalÚkeyr�   r3   r   r   r   rž   ro   c                 S   s   | dkS )Nr3   r*   )Úindxr*   r*   r+   Ú<lambda>û   s    z<TestSetIndex.test_set_index_after_mutation.<locals>.<lambda>)r   r	   Úlocr8   Úmapr6   rG   rH   )r7   r)   rJ   rT   rI   r*   r*   r+   Útest_set_index_after_mutationö   s
   
z*TestSetIndex.test_set_index_after_mutationÚboxc                 C   s
   t | ƒgS ©N)r†   ©rA   r*   r*   r+   r    	  s   
 zTestSetIndex.<lambda>c                 C   ó   t  | g¡S r¥   ©r
   rF   r¦   r*   r*   r+   r    
  ó    zappend, index_name)©TN©Tr   ©TÚtest©FNc                 C   sÖ   |}||j _||d ƒ}|tkr4d}tjt|d�� |j|||d� W d   ƒ d S 1 s-w   Y  d S t|dd ƒ}	|	d u rEt|dd ƒgn|	}
|j|||d�}|jdgd|d�}|r_|g|
 n|
|j _t	 
||¡ d S )Nr   z%['one', 'two', 'three', 'one', 'two']rz   r™   rE   rp   F)r8   rp   r†   r   r€   ÚKeyErrorr6   ÚgetattrrE   rG   rH   )r7   r,   r�   rš   Ú
index_namer¤   r)   rž   ÚmsgÚname_mirp   rI   rJ   r*   r*   r+   Ú test_set_index_pass_single_array  s   "ÿz-TestSetIndex.test_set_index_pass_single_arrayc                 C   r§   r¥   r¨   r¦   r*   r*   r+   r    .  r©   )rª   ©Tr   r«   r¬   r®   c                 C   sš   |}||j _d||d ƒg}d|tjtttfv rd ndg}|j|||d�}	|jddgd|d�}
|r8|
jddd�n|
}
|rA|g| n||
j _	t
 |	|
¡ d S )Nr   r   r™   Fr3   r”   )r8   rp   r$   Úarrayr†   r!   Úiterr6   r�   rE   rG   rH   )r7   r,   r�   rš   r±   r¤   r)   rŽ   rE   rI   rJ   r*   r*   r+   Útest_set_index_pass_arrays-  s   z'TestSetIndex.test_set_index_pass_arraysÚbox2c                 C   r§   r¥   r¨   r¦   r*   r*   r+   r    T  r©   c                 C   ó   | j S r¥   ro   r¦   r*   r*   r+   r    U  ó    Úbox1c                 C   r§   r¥   r¨   r¦   r*   r*   r+   r    `  r©   c                 C   rº   r¥   ro   r¦   r*   r*   r+   r    a  r»   )rª   rµ   r¬   r®   c                 C   sÄ   |}||j _||d ƒ||d ƒg}|j|||d�}	||d ƒ||d ƒg}t|d tƒrB|d dkrBt|d tƒrB|d dkrBdn|}
|j|d g|
|d�}|j|d g|dd�}t |	|¡ d S )Nr   r™   r   r3   FT)r8   rp   r6   rf   ÚstrrG   rH   )r7   r,   r�   rš   r±   r¼   r¹   r)   rŽ   rI   Ú
first_droprJ   r*   r*   r+   Ú$test_set_index_pass_arrays_duplicateL  s"   þÿûøz1TestSetIndex.test_set_index_pass_arrays_duplicaterš   c                 C   sV   |}t j|d |d gddgd�}|j|||d�}|jddgd|d�}t ||¡ d S )Nr   r   rD   r™   F)r
   rF   r6   rG   rH   )r7   r,   r�   rš   r)   rŽ   rI   rJ   r*   r*   r+   Útest_set_index_pass_multiindexˆ  s
   z+TestSetIndex.test_set_index_pass_multiindexc                 C   sž   t tdƒd dd�}ttj d¡ d¡|jdœƒ}| d¡}t	 
|j|¡ ttj d¡ d¡|dœƒ}| d¡}t	 
|j|¡ | ¡  d¡}t	 
|j|¡ d S )NÚabr   r   ro   r   r;   rd   )r   r†   r   r$   r%   r&   r'   rW   r6   rG   r~   r8   rr   )r7   Úcir)   rg   r*   r*   r+   Ú(test_construction_with_categorical_index•  s   ÿ

z5TestSetIndex.test_construction_with_categorical_indexc              	   C   sŠ   t g d¢g d¢ttdƒtdƒdd�ttdƒtdƒdd�dœƒ}d	d
dd	gdd
gd	d
gfD ]}| |¡ ¡ }|j|jd�}t ||¡ q,d S )N)r3   r   r3   r3   r   )r;   é   é   é   é"   ÚabaabÚbacF)Ú
categoriesÚorderedT)r   r   ÚC1ÚC2rÌ   rÍ   r   rB   )	r   r   r†   r6   rr   ÚreindexrC   rG   rH   )r7   r)   ÚcolsrI   r*   r*   r+   Ú)test_set_index_preserve_categorical_dtype¨  s   üÿýz6TestSetIndex.test_set_index_preserve_categorical_dtypec                 C   s  t g d¢g d¢tdƒdœƒ}t| d¡dd�|_|j d¡|_tg d	¢dd
�}| d¡ d¡}|jddd�}t	 
|jjd |¡ t	 
|jjd tddgdd
�¡ |jjddgksZJ ‚| dd¡}t	 
|jjd tddgdd
�¡ t	 
|jjd |¡ |jjddgks„J ‚t tj d¡ d¡ƒ}tg d¢dd�}tg d¢dd�}tdddd�}| d ¡}| |¡}|j|dd�}|j|dd�}tg d	¢dd�}tddgdd�}t	 
|jjd |¡ t	 
|jjd |¡ t	 
|jjd |¡ t	 
|j d¡|¡ t	 
|j d¡|¡ t	 
|j d¡|¡ d S )N)r   r   r   r   r   r   )ú2011-07-19 07:00:00ú2011-07-19 08:00:00ú2011-07-19 09:00:00rÑ   rÒ   rÓ   r0   )r#   r   Úvaluer   T)Úutcrj   )rÑ   rÒ   rÓ   ro   rY   r#   ©rš   r   r3   r   r   r   z
US/EasternrZ   )ú2012-04-01 09:00r×   r×   ú2012-04-02 09:00rØ   rØ   z2011-01-01 09:00z
Asia/Tokyo)rk   r[   r×   rØ   )r   re   r   Úpopr8   r\   r   Útz_localizer6   rG   r~   Úlevelsr	   rE   Ú	swaplevelr$   r%   r&   r   rs   Úget_level_values)r7   r)   rJ   Úidx1rŒ   Úidx3Ú	expected1Ú	expected2r*   r*   r+   Útest_set_index_datetime·  s`   öÿþ  ÷÷

þÿz$TestSetIndex.test_set_index_datetimec                 C   s  t tj d¡ d¡ƒ}tdddd�}| |¡}tdddd�}| |¡ |¡}td	dd
d�}| |¡}|j|dd�}|j|dd�}tdddd�}tdddd�}t |j	j
d |¡ t |j	j
d |¡ t |j	j
d |¡ t |j	 d¡|¡ t |j	 d¡|¡ t |j	 d¡|¡ d S )Nr   r0   z
2011-01-01r.   ÚM©rk   rl   z2013-01-01 09:00ri   Ú2005ÚYTrÖ   r   r3   )r   r$   r%   r&   r   rš   r6   rG   r~   r8   rÛ   rÝ   )r7   r)   rÞ   rŒ   rß   rà   rá   r*   r*   r+   Útest_set_index_period	  s"   

z"TestSetIndex.test_set_index_periodN)!Ú__name__Ú
__module__Ú__qualname__r9   rK   rU   rX   r_   rh   rx   rƒ   r�   r   ÚmarkÚparametrizer˜   r›   rœ   r£   r   r	   r$   r¶   r†   r´   r¸   r·   r¿   rÀ   rÃ   rÐ   râ   rç   r*   r*   r*   r+   r-   8   sž    		#úþÿÿþùþùþÿ Rr-   c                   @   sî   e Zd Zdd„ Zej dddg¡ej dddg¡dd„ ƒƒZej dddg¡ej dddg¡ejjd	egd
gd�dd„ ƒƒƒZ	ejjd	e
eejedd„ gg d¢d�ejjdddgddgd�ej dddg¡ej dddg¡dd„ ƒƒƒƒZdS )ÚTestSetIndexInvalidc                 C   sŽ   |}t jtdd�� |jddd� W d   ƒ n1 sw   Y  t jtdd�� |j|d |d gdd� W d   ƒ d S 1 s@w   Y  d S )NzIndex has duplicate keysrz   r   T)Úverify_integrity)r   r€   r�   r6   )r7   r,   r)   r*   r*   r+   Útest_set_index_verify_integrity#  s   ÿ"ÿz3TestSetIndexInvalid.test_set_index_verify_integrityrš   TFr�   c                 C   s2  |}t jtdd�� |jg d¢||d� W d   ƒ n1 sw   Y  t jtdd�� |j|d |d dg||d� W d   ƒ n1 sDw   Y  d}t jt|d�� |jt|d ƒ||d� W d   ƒ n1 siw   Y  t jt|d�� |jd|d t|d ƒg||d� W d   ƒ d S 1 s’w   Y  d S )	Nz['foo', 'bar', 'baz']rz   )r   r   Úbazr™   ÚXr   r   z%[('foo', 'foo', 'foo', 'bar', 'bar')])r   r€   r¯   r6   r!   )r7   r,   r�   rš   r)   r²   r*   r*   r+   Útest_set_index_raise_keys,  s   þ ÿÿ$"ÿz-TestSetIndexInvalid.test_set_index_raise_keysr¤   Úset)Úidsc                 C   s¤   |}d}t jt|d�� |j||d ƒ||d� W d   ƒ n1 s"w   Y  t jt|d�� |jd|d ||d ƒg||d� W d   ƒ d S 1 sKw   Y  d S )Nú,The parameter "keys" may be a column key, .*rz   r   r™   )r   r€   Ú	TypeErrorr6   )r7   r,   r¤   r�   rš   r)   r²   r*   r*   r+   Útest_set_index_raise_on_typeB  s   ÿ$"ÿz0TestSetIndexInvalid.test_set_index_raise_on_typec                 C   r§   r¥   r¨   r¦   r*   r*   r+   r    T  r©   zTestSetIndexInvalid.<lambda>)r   r	   znp.arrayr·   r
   Úlengthr/   r0   Ú	too_shortÚtoo_longc           	      C   s²   |}t j d¡ dd|f¡}d}tjt|d�� |j||ƒ||d� W d   ƒ n1 s,w   Y  tjt|d�� |jd|j||ƒg||d� W d   ƒ d S 1 sRw   Y  d S )Nr   r   r;   z<Length mismatch: Expected 5 rows, received array of length.*rz   r™   r   )	r$   r%   r&   Úintegersr   r€   r�   r6   r   )	r7   r,   r¤   rø   r�   rš   r)   rW   r²   r*   r*   r+   Útest_set_index_raise_on_lenR  s   ÿ"ÿz/TestSetIndexInvalid.test_set_index_raise_on_lenN)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dd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestSetIndexCustomLabelTypec           	      C   s  G dd„ dƒ}|ddƒ}|ddƒ}t |ddg|d	d
giƒ}t |ddgitd	d
g|d�d�}| |¡}t ||¡ | |g¡}t ||¡ |ddƒ}d}tjt|d�� | |¡ W d   ƒ n1 sbw   Y  tjt|d�� | |g¡ W d   ƒ d S 1 s€w   Y  d S )Nc                   @   s(   e Zd Zddd„Zdefdd„ZeZdS )zKTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.ThingÚreturnNc                 S   ó   || _ || _d S r¥   ©rp   Úcolor©r7   rp   r  r*   r*   r+   Ú__init__r  ó   
zTTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thing.__init__c                 S   ó   dt | jƒ› d�S ©Nz<Thing ú>©Úreprrp   ©r7   r*   r*   r+   Ú__str__v  ó   zSTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thing.__str__©rþ   N)rè   ré   rê   r  r½   r  Ú__repr__r*   r*   r*   r+   ÚThingq  s    
r  ÚOneÚredÚTwoÚbluer   r3   r   r.   ro   rq   ÚThreeÚpinkz<Thing 'Three'>rz   )r   r	   r6   rG   rH   r   r€   r¯   ©	r7   r  Úthing1Úthing2r)   rJ   rI   Úthing3r²   r*   r*   r+   Ú test_set_index_custom_label_typen  s"   

 

þ"þz<TestSetIndexCustomLabelType.test_set_index_custom_label_typec           	      C   s  G dd„ dt ƒ}|ddgƒ}|ddgƒ}t|ddg|d	d
giƒ}t|ddgitd	d
g|d�d�}| |¡}t ||¡ | |g¡}t ||¡ |ddgƒ}d}tjt|d�� | |¡ W d   ƒ n1 sfw   Y  tjt|d�� | |g¡ W d   ƒ d S 1 s„w   Y  d S )Nc                   @   s   e Zd Zdefdd„ZdS )zXTestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable.<locals>.Thingrþ   c                 S   s$   t | ƒ}d tt|ƒ¡}d|› d�S )Nz, zfrozenset({z}))ÚsortedÚjoinr¢   r	  )r7   ÚtmpÚjoined_reprsr*   r*   r+   r  �  s   zaTestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable.<locals>.Thing.__repr__N)rè   ré   rê   r½   r  r*   r*   r*   r+   r  ›  s    r  r  r  r  r  r   r3   r   r.   ro   rq   r  r  z frozenset\(\{'Three', 'pink'\}\)rz   )	Ú	frozensetr   r	   r6   rG   rH   r   r€   r¯   r  r*   r*   r+   Ú-test_set_index_custom_label_hashable_iterable”  s"    
þ"þzITestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterablec                 C   s¼   G dd„ dt ƒ}|ddƒ}|ddƒ}tddgd	d
gg||gd�}d}tjt|d�� | |¡ W d   ƒ n1 s9w   Y  tjt|d�� | |g¡ W d   ƒ d S 1 sWw   Y  d S )Nc                   @   s$   e Zd Zddd„Zdefdd„ZdS )zRTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thingrþ   Nc                 S   rÿ   r¥   r   r  r*   r*   r+   r  À  r  z[TestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thing.__init__c                 S   r  r  r  r
  r*   r*   r+   r  Ä  r  zZTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thing.__str__r  )rè   ré   rê   r  r½   r  r*   r*   r*   r+   r  ¿  s    
r  r  r  r  r  r   r   r3   r.   rB   rõ   rz   )ró   r   r   r€   rö   r6   )r7   r  r  r  r)   r²   r*   r*   r+   Ú'test_set_index_custom_label_type_raises»  s   

þ"þzCTestSetIndexCustomLabelType.test_set_index_custom_label_type_raisesc                 C   sf   t tj d¡ d¡ƒ}tdddd�}tdddd�}| |¡}t |j|¡ | |¡}t |j|¡ d S )Nr   r0   z
2011/01/01rã   rä   Ú2013ræ   )	r   r$   r%   r&   r   r6   rG   r~   r8   )r7   r)   rÞ   rŒ   r*   r*   r+   Útest_set_index_periodindexÕ  s   

z6TestSetIndexCustomLabelType.test_set_index_periodindexN)rè   ré   rê   r  r   r!  r#  r*   r*   r*   r+   rý   m  s
    &'rý   )Ú__doc__r   r   Únumpyr$   r   Úpandasr   r   r   r   r	   r
   r   r   r   r   Úpandas._testingÚ_testingrG   Úfixturer,   r-   rí   rý   r*   r*   r*   r+   Ú<module>   s    0
   mK