o
    ôT·j®h  ã                   @   s”  d dl mZm Z  d dlZd dlZd dlZd dlmZ d dlZ	d dlm
Z
mZmZmZmZ d dlm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e	jdddd�e	jdddd�feddddd �edddd!d �fe	jd"ddd�e	jd#ddd�fg¡d$d%„ ƒZd&d'„ Z d(d)„ Z!d*d+„ Z"ej d,d-d-gd-d.gd-gd.gd-d.ggd/d/gd/d0gd/gd0gd1d2d-gd.fd-d.gfd/d3d4d/gd0fd1d.gd-d5gd3d0gd6d7d8g¡d9d:„ ƒZ#ej d;g d<¢d/d0gfg d/d0gfg d<¢g fg¡d=d>„ ƒZ$d?d@„ Z%dAdB„ Z&dCdD„ Z'dEdF„ Z(dGdH„ Z)dIdJ„ Z*dKdL„ Z+dMdN„ Z,dOdP„ Z-ej dQg g fg dR¢g fg g dS¢fg¡dTdU„ ƒZ.ej dVe/e0dWƒƒ¡dXdY„ ƒZ1ej dZd-d-gd-d.gd-gd.gd/d/gd/d0gd/gd0gg¡d[d\„ ƒZ2d]d^„ Z3d_d`„ Z4ej dadbdcg¡ej dddedf„ dgdf„ dhdf„ g¡didj„ ƒƒZ5dkdl„ Z6dmdn„ Z7ej doeg d<¢dpdq�ed/d0gdrdq�dpdrgfeg d<¢dpdq�d/d0gdpdgfg d<¢d/d0gdfg¡dsdt„ ƒZ8dudv„ Z9dwdx„ Z:dydz„ Z;d{d|„ Z<d}d~„ Z=ej deg d€¢ƒg d€¢d-d.gddWgd�d‚gge
g d€¢ƒe >d-d.gddWgd�d‚gg¡dƒg¡d„d…„ ƒZ?d†d‡„ Z@ej dˆdd‰dŠgfd‹dŒgd‹dŒgfg¡d�dŽ„ ƒZAej d�d�g dS¢d‘fg¡d’d“„ ƒZBd”d•„ ZCd–d—„ ZDd˜d™„ ZEdšd›„ ZFdœd�„ ZGdždŸ„ ZHdS ) é    )ÚdateÚdatetimeN)Ú'construct_1d_object_array_from_listlike)ÚIndexÚ
MultiIndexÚSeriesÚ	TimestampÚ
date_rangec                  C   s`   t g d¢gg d¢gdgd�} t| t ƒsJ ‚tg d¢dd�}t | jd |¡ | jdgks.J ‚d S )N)ÚfooÚbarÚbazÚqux©r   é   é   é   Úfirst©ÚlevelsÚcodesÚnames©Únamer   )r   Ú
isinstancer   ÚtmÚassert_index_equalr   r   ©ÚresultÚexpected© r   úo/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/site-packages/pandas/tests/indexes/multi/test_constructors.pyÚtest_constructor_single_level   s   ÿr!   c                  C   s¸   d} t jt| d�� tg g d� W d   ƒ n1 sw   Y  d} t jt| d�� tg d� W d   ƒ n1 s8w   Y  t jt| d�� tg d� W d   ƒ d S 1 sUw   Y  d S )Nznon-zero number of levels/codes©Úmatch©r   r   zMust pass both levels and codes©r   )r   )ÚpytestÚraisesÚ
ValueErrorr   Ú	TypeError©Úmsgr   r   r    Útest_constructor_no_levels!   s   ÿÿ"ÿr,   c                  C   s  ddgddgg} g d¢g d¢g}dgdgf}d	}t jt|d
�� t| ||d� W d   ƒ n1 s1w   Y  tddgddggg d¢g d¢gdd�}dgdgg}t jt|d
�� |j|d� W d   ƒ n1 sgw   Y  t jt|d
�� |j|d� W d   ƒ d S 1 s…w   Y  d S )Nr   r   ÚoneÚtwo)r   r   r   r   )r   r   r   r   r
   r   z(MultiIndex\.name must be a hashable typer"   r   )r
   r   ÚfoooÚbarr©r   )r&   r'   r)   r   ÚrenameÚ	set_names)r   r   r   r+   ÚmiÚrenamedr   r   r    Ú"test_constructor_nonhashable_names-   s&   ÿýÿ"ÿr6   c                 C   s  t  dg¡t  dg¡t  dg¡g}dg}d}tjt|d�� t||d� W d   ƒ n1 s.w   Y  d}d	}d
}tjt|d�� tdgdggg d¢g d¢gd� W d   ƒ n1 s[w   Y  tjt|d�� tdgdggg d¢ddggd� W d   ƒ n1 s‚w   Y  tjt|d�� |  ¡  dgdgg¡ W d   ƒ n1 s¤w   Y  tjt|d�� |  ¡  g d¢ddgg¡ W d   ƒ n1 sÈw   Y  |  ¡ jg d¢ddggdd� tjt|d�� tdgdggddgddggd� W d   ƒ d S 1 sÿw   Y  d S )Nr   r   r   Úaz+Length of levels and codes must be the samer"   r$   zbOn level 0, code max \(3\) >= length of level \(1\)\. NOTE: this index is in an inconsistent statezUnequal code lengths: \[4, 2\]z"On level 0, code value \(-2\) < -1Úbr   )r   r   é   r   )r   r   r   r   r   F)r   Úverify_integrityéþÿÿÿ)	ÚnpÚarrayr&   r'   r(   r   ÚcopyÚ
set_levelsÚ	set_codes)Úidxr   r   r+   Úlength_errorÚlabel_errorÚcode_value_errorr   r   r    Ú(test_constructor_mismatched_codes_levelsE   s4   "ÿÿ"ÿ"ÿÿÿ""ÿrE   c                  C   s  t tjd tjddggg d¢gd�} t tjd tjddggg d¢gd�}t | |¡ t tjdtjdd ggg d¢gd�} t tjdtjdd ggg d¢gd�}t | |¡ t g d¢gg d¢gd� tjdtjdd gg¡} t | |¡ t tjdtjdd ggg d	¢gd� g d¢g¡} t | |¡ d S )
Né€   r   )r   éÿÿÿÿr   r   r   r9   r$   )rG   rG   rG   rG   r   r9   Ús)rG   rG   r   rG   r   rG   )r   r   r   r9   é   )r   r   r   r   r   r   )	r   r<   ÚnanÚpdÚNaTr   r   r?   r@   r   r   r   r    Útest_na_levelsk   s4   ÿÿÿÿÿþÿþrM   c                  C   s˜   t  g d¢¡} t  g d¢¡}|d }t| | g||gdd�}|jd d |ks(J ‚d|d< |jd d |ks7J ‚| d }d| d< |jd d |ksJJ ‚d S )N©r7   r8   Úc)r   r   r   r   r   r   r   r   T)r   r   r>   é   ÚPANDA)r<   r=   r   r   r   )r   r   Úvalr4   r   r   r    Útest_copy_in_constructor‹   s   rS   c                 C   sŽ   dd„ t | j| jƒD ƒ}tj|| jd�}t || ¡ t tj	t
dƒgddgg¡}|jd  tt
dƒgƒ¡s7J ‚|jd  tddgƒ¡sEJ ‚d S )	Nc                 S   ó    g | ]\}}t  |¡ |¡‘qS r   ©r<   ÚasarrayÚtake©Ú.0ÚlevÚlevel_codesr   r   r    Ú
<listcomp>œ   ó    ÿÿz$test_from_arrays.<locals>.<listcomp>r1   Ú20130101r7   r8   r   r   )Úzipr   r   r   Úfrom_arraysr   r   r   rK   rL   r   Úequalsr   ©rA   Úarraysr   r   r   r    Útest_from_arrays›   s   þ rd   c                 C   sz   dd„ t | j| jƒD ƒ}tjt|ƒ| jd�}t || ¡ d}t	j
t|d�� t d¡ W d   ƒ d S 1 s6w   Y  d S )Nc                 S   rT   r   rU   rX   r   r   r    r\   ­   r]   z-test_from_arrays_iterator.<locals>.<listcomp>r1   z/Input must be a list / sequence of array-likes.r"   r   )r_   r   r   r   r`   Úiterr   r   r   r&   r'   r)   )rA   rc   r   r+   r   r   r    Útest_from_arrays_iterator«   s   þ"ÿrf   c                 C   s<   t dd„ t| j| jƒD ƒƒ}tj|| jd�}t || ¡ d S )Nc                 s   s(   � | ]\}}t t |¡ |¡ƒV  qd S ©N)Útupler<   rV   rW   rX   r   r   r    Ú	<genexpr>½   s
   € ÿ
ÿz*test_from_arrays_tuples.<locals>.<genexpr>r1   )	rh   r_   r   r   r   r`   r   r   r   rb   r   r   r    Útest_from_arrays_tuples¼   s
   þrj   )Úidx1Úidx2ú
2011-01-01ÚDr   ©ÚfreqÚperiodsz
2015-01-01Úhú2015-01-01 10:00ú
US/Eastern©rp   rq   Útzú
Asia/Tokyoú1 daysz2 hoursc                 C   s|   t  | |g¡}t | d¡| ¡ t | d¡|¡ t  t| ƒt|ƒg¡}t | d¡| ¡ t | d¡|¡ t ||¡ d S )Nr   r   )r   r`   r   r   Úget_level_valuesr   )rk   rl   r   Úresult2r   r   r    Ú=test_from_arrays_index_series_period_datetimetz_and_timedeltaÇ   s   r{   c                  C   s  t ddddd�} t dddd�}tjdddd�}tjd	ddd�}t | |||g¡}t | d
¡| ¡ t | d¡|¡ t | d¡|¡ t | d¡|¡ t t	| ƒt	|ƒt	|ƒt	|ƒg¡}t | d
¡| ¡ t | d¡|¡ t | d¡|¡ t | d¡|¡ t ||¡ d S )Nrs   rn   r   rt   ru   rr   ro   rx   rm   r   r   r   )
r	   rK   Útimedelta_rangeÚperiod_ranger   r`   r   r   ry   r   )rk   rl   Úidx3Úidx4r   rz   r   r   r    Ú)test_from_arrays_index_datetimelike_mixedä   s"   ÿr€   c                  C   sÖ   t jtdƒtdƒdd�} t jtdƒtdƒdd�}t | |g¡}t | d¡| ¡ t | d¡|¡ t t| ƒt|ƒg¡}t | d¡| ¡ t | d¡|¡ t | j	|j	g¡}t | d¡| ¡ t | d¡|¡ d S )NÚabcaabÚbacF©Ú
categoriesÚorderedTr   r   )
rK   ÚCategoricalIndexÚlistr   r`   r   r   ry   r   Úvalues)rk   rl   r   rz   Úresult3r   r   r    Ú)test_from_arrays_index_series_categoricalû   s   rŠ   c                  C   sè   d} t jt| d�� tjg d� W d   ƒ n1 sw   Y  tjg gdgd�}t|tƒs/J ‚tg dd�}t |j	d |¡ |j
dgksFJ ‚dD ])}g g| }td	ƒd |… }tj||d�}tg g| g g| |d
�}t ||¡ qHd S )Nú)Must pass non-zero number of levels/codesr"   ©rc   ÚA©rc   r   r   r   )r   r   ÚABCr   )r&   r'   r(   r   r`   r   r   r   r   r   r   r‡   )r+   r   r   ÚNrc   r   r   r   r    Útest_from_arrays_empty  s    ÿ
ûr‘   Úinvalid_sequence_of_arraysr   r   r7   r8   ©r   ©r   r   ©r7   ©r7   r8   ©r   )r“   r   )r   r—   )r•   r8   c                 C   óD   d}t jt|d�� tj| d� W d   ƒ d S 1 sw   Y  d S )Nz.Input must be a list / sequence of array-likesr"   rŒ   )r&   r'   r)   r   r`   )r’   r+   r   r   r    Útest_from_arrays_invalid_input#  s   "ÿr™   z
idx1, idx2©r   r   r   c                 C   sF   d}t jt|d�� t | |g¡ W d   ƒ d S 1 sw   Y  d S )Nz ^all arrays must be same length$r"   )r&   r'   r(   r   r`   )rk   rl   r+   r   r   r    Ú"test_from_arrays_different_lengthsE  s   "ÿr›   c                  C   sh   t g d¢dd�} t g d¢dd�}tj| |gd d�}tg d¢g d¢gg d¢g d¢gd d�}t ||¡ d S )	Nrš   r
   r   rN   r   r1   ©r   r   r   r   )r   r   r`   r   r   ©r7   r8   r   r   r   r   r    Ú$test_from_arrays_respects_none_namesO  s   ÿrž   c                  C   sˆ   d} t jt| d�� t g ¡ W d   ƒ n1 sw   Y  tddgddggddgddggdd	gd
�}tjddd	gd�}t ||¡ d S )Nz-Cannot infer number of levels from empty listr"   r   r   r   r9   r   r7   r8   r   )r”   )r   r9   r1   )r&   r'   r)   r   Úfrom_tuplesr   r   )r+   r   r   r   r   r    Útest_from_tuples_  s   ÿ"ÿr    c                  C   s˜   t ddgddggddgddggddgd�} t jtddgddgƒddgd	�}t || ¡ d
}tjt|d�� t  d¡ W d   ƒ d S 1 sEw   Y  d S )Nr   r   r   r9   r   r7   r8   r   r1   z/Input must be a list / sequence of tuple-likes.r"   )r   rŸ   r_   r   r   r&   r'   r)   )r   r   r+   r   r   r    Útest_from_tuples_iteratorm  s   "ÿ "ÿr¡   c                  C   s8   t jg ddgd�} t jg g gddgd�}t | |¡ d S )Nr7   r8   r1   rŽ   )r   rŸ   r`   r   r   r   r   r   r    Útest_from_tuples_empty}  s   r¢   c                 C   s"   t  | ¡}|j| jk ¡ sJ ‚d S rg   )r   rŸ   rˆ   Úall)rA   r   r   r   r    Útest_from_tuples_index_values„  s   
r¤   c                  C   s†   g d¢} d}t jt|d�� t| dd� W d   ƒ n1 sw   Y  t jt|d�� t| dd� W d   ƒ d S 1 s<w   Y  d S )N))r   r   r   )r   r   r   )r   r   r   ú*Names should be list-like for a MultiIndexr"   Úabcr   r7   )r&   r'   r(   r   )Úlir+   r   r   r    Útest_tuples_with_name_string‰  s   ÿ"ÿr¨   c                  C   s`   t jg d¢g d¢gg d¢d� ddg¡} tjddgd	d
�}t jddgdg|d�}t | |¡ d S )N)r   r   r   )r9   r”   r   rN   ©Úcolumnsr7   r8   )r   r   )r9   r”   r–   r1   r   r   rO   )rª   Úindex)rK   Ú	DataFrameÚ	set_indexr   rŸ   r   Úassert_frame_equal)r   rA   r   r   r   r    Ú!test_from_tuples_with_tuple_label”  s   ÿ
þr¯   c                  C   sB   d} t jt| d�� t g ¡ W d   ƒ d S 1 sw   Y  d S )Nr‹   r"   )r&   r'   r(   r   Úfrom_productr*   r   r   r    Ú#test_from_product_empty_zero_levels¡  s   "ÿr±   c                  C   sD   t jg gdgd�} tg dd�}t | jd |¡ | jdgks J ‚d S )Nr�   r1   r   r   )r   r°   r   r   r   r   r   r   r   r   r    Ú!test_from_product_empty_one_level¨  s   r²   zfirst, second)r
   r   r   rN   c                 C   s@   ddg}t j| |g|d�}t | |gg g g|d�}t ||¡ d S )Nr�   ÚBr1   r   ©r   r°   r   r   )r   Úsecondr   r   r   r   r   r    Ú"test_from_product_empty_two_levels¯  s   r¶   r�   r9   c                 C   sR   g d¢}t t| ƒƒ}tjg |g g|d�}tg |g gg g g g|d�}t ||¡ d S )N)r�   r³   ÚCr1   r   )r‡   Úranger   r°   r   r   )r�   r   Úlvl2r   r   r   r   r    Ú$test_from_product_empty_three_levels¹  s
   rº   Úinvalid_inputc                 C   r˜   )NzDInput must be a list / sequence of iterables|Input must be list-liker"   )Ú	iterables)r&   r'   r)   r   r°   )r»   r+   r   r   r    Útest_from_product_invalid_inputÃ  s   "ÿr½   c                  C   s`   t ddd�} t ddg| g¡}tdtdƒfdtdƒfdtdƒfdtdƒfgƒ}t |j|¡ d S )Nz
2000-01-01r   )rq   r   z
2000-01-02)r	   r   r°   r   r   r   Úassert_numpy_array_equalrˆ   )Údt_indexr4   Úetalonr   r   r    Útest_from_product_datetimeindexÌ  s   



üÿrÁ   c                  C   s<   t tdƒƒ} ddg}t | |g¡}tj|jd | dd� d S )NrI   r7   r8   r   T)Úexact)r   r¸   r   r°   r   r   Ú_levels)ÚrngÚotherr4   r   r   r    Útest_from_product_rangeindexÚ  s   rÆ   r…   FTÚfc                 C   s   | S rg   r   ©Úxr   r   r    Ú<lambda>ã  s    rÊ   c                 C   s   t | ƒS rg   )r   rÈ   r   r   r    rÊ   ã  s    c                 C   s   | j S rg   )rˆ   rÈ   r   r   r    rÊ   ã  s    c                 C   sh   ddg}t jtdƒtdƒ| d�}t jtdƒtdƒ tdƒ| d�}t |||ƒg¡}t | d¡|¡ d S )Nr
   r   r�   r‚   rƒ   r   )rK   r†   r‡   r   r°   r   r   ry   )r…   rÇ   r   rA   r   r   r   r   r    Ú*test_from_product_index_series_categoricalâ  s   ÿrË   c                  C   sP   g d¢} g d¢}ddg}t j| |g|d�}g d¢}t j||d�}t ||¡ d S )N©r
   r   ÚbuzrN   r   rµ   r1   ©	)r
   r7   )r
   r8   )r
   rO   )r   r7   )r   r8   )r   rO   )rÍ   r7   )rÍ   r8   )rÍ   rO   )r   r°   rŸ   r   r   )r   rµ   r   r   Útuplesr   r   r   r    Útest_from_productñ  s   rÐ   c                  C   s’   g d¢} g d¢}ddg}g d¢}t j||d�}t jt| |gƒ|d�}t ||¡ d}tjt|d�� t  d	¡ W d   ƒ d S 1 sBw   Y  d S )
NrÌ   rN   r   rµ   rÎ   r1   z-Input must be a list / sequence of iterables.r"   r   )	r   rŸ   r°   re   r   r   r&   r'   r)   )r   rµ   r   rÏ   r   r   r+   r   r   r    Útest_from_product_iterator  s   "ÿrÑ   za, b, expected_namesr
   r   r   c                 C   sD   t  | |g¡}t g d¢ddggg d¢g d¢g|d�}t ||¡ d S )Nrš   r7   r8   ©r   r   r   r   r   r   ©r   r   r   r   r   r   r   r´   )r7   r8   Úexpected_namesr   r   r   r   r    Útest_from_product_infer_names#  s   ýrÕ   c                  C   sh   t g d¢dd�} t ddgdd�}tj| |gd d�}tg d¢ddggg d¢g d	¢gd d
�}t ||¡ d S )Nrš   r
   r   r7   r8   r   r1   rÒ   rÓ   r   )r   r   r°   r   r   r�   r   r   r    Ú%test_from_product_respects_none_names:  s   ýrÖ   c                  C   sN   t  tdƒ¡} ddg}t | |g¡}| jdd� t | |g¡}t ||¡ d S )Nr   r7   r8   F)Úwrite)r<   r=   r¸   r   r°   Úsetflagsr   r   )r7   r8   r   r   r   r   r    Útest_from_product_readonlyH  s   rÙ   c                 C   sj   | }ddg|_ t|ƒ}ttg d¢dd�ƒ}t ||¡ t|dd�}ttg d¢dd�dd�}t ||¡ d S )Nr
   r   ))r
   r-   )r
   r.   )r   r-   )r   r.   )r   r-   )r   r.   Úobject©Údtyper�   r   )r   r   r   r   )rA   r«   r   r   r   r   r    Útest_create_index_existing_nameS  s&   
÷ÿ÷ôrÝ   c                  C   sZ   t jddgddgddgddggddgd�} tjg d¢ddgd�}t | ¡}t ||¡ d S )Nr7   r8   ÚL1ÚL2r©   ))r7   r7   r–   )r8   r7   )r8   r8   r1   )rK   r¬   r   rŸ   Ú
from_framer   r   )Údfr   r   r   r   r    Útest_from_frame}  s    ÿÿ
râ   c               
   C   s”   t  d¡} t tg d¢dd�t ¡  |  dtj	d g¡¡dœ¡}t
 |¡}t
jtg d¢ƒ d¡t ¡  |  dtj	d g¡¡gddgd	�}t ||¡ d S )
NÚpyarrow)r   r   NÚInt64rÛ   gš™™™™™É?r–   r7   r8   r1   )r&   ÚimportorskiprK   r¬   r   ÚFloat64DtypeÚ__from_arrow__r=   r<   rJ   r   rà   r`   Úastyper   r   )Úpará   Úmulti_indexedr   r   r   r    Ú)test_from_frame_missing_values_multiIndex‰  s   
þÿ
þûrë   Ú	non_frame)r   r   r   r9   rI   é   é   c                 C   s>   t jtdd�� t | ¡ W d   ƒ d S 1 sw   Y  d S )NzInput must be a DataFramer"   )r&   r'   r)   r   rà   )rì   r   r   r    Útest_from_frame_errorž  s   "ÿrï   c                     s¶   t  tdddd�g d¢t jg d¢dd�g d	¢d
œ¡} | j ¡ }tjtdddd�g d¢t jg d¢dd�g d	¢gg d
¢d�}t | ¡‰ ‡ fdd„t	ˆ j
ƒD ƒ}t |ˆ ¡ ||ksYJ ‚d S )NÚ19910905rí   rt   )rq   rv   )r   r   r   r   r   r   )r7   r7   r8   r8   rO   rO   T)r…   )rÉ   rÉ   ÚyÚzrÉ   rñ   )Údatesr7   r8   rO   r1   c                    s   i | ]\}}|ˆ j | j“qS r   )r   rÜ   )rY   Úir   ©r4   r   r    Ú
<dictcomp>Å  s    z2test_from_frame_dtype_fidelity.<locals>.<dictcomp>)rK   r¬   r	   ÚCategoricalÚdtypesÚto_dictr   r`   rà   Ú	enumerater   r   r   )rá   Úoriginal_dtypesÚexpected_miÚ	mi_dtypesr   rõ   r    Útest_from_frame_dtype_fidelity¯  s(   üÿ
üù
	rþ   znames_in,names_out©rÞ   rÉ   ©rß   rñ   rÉ   rñ   c                 C   sP   t jddgddgddgddggt ddg¡d�}tj|| d�}|j|ks&J ‚d S )Nr7   r8   rÿ   r   r©   r1   )rK   r¬   r   rŸ   rà   r   )Únames_inÚ	names_outrá   r4   r   r   r    Útest_from_frame_valid_namesË  s   þr  znames,expected_error_msg)Ú	bad_inputr¥   z9Length of names must match number of levels in MultiIndexc                 C   sr   t jddgddgddgddggt ddg¡d�}tjt|d�� tj|| d� W d   ƒ d S 1 s2w   Y  d S )Nr7   r8   rÿ   r   r©   r"   r1   )rK   r¬   r   rŸ   r&   r'   r(   rà   )r   Úexpected_error_msgrá   r   r   r    Útest_from_frame_invalid_namesØ  s   	þ"ÿr  c                  C   s@   t g g gg g gddgd�} t jg g gddgd�}t | |¡ d S )Nr7   r8   r   rŽ   )r   r`   r   r   r–   r   r   r    Útest_index_equal_empty_iterableé  s   r  c                  C   sÀ   ddgg d¢g} t | g d¢g d¢gdd� tjtdd	�� t | g d¢g d
¢gdd� W d   ƒ n1 s4w   Y  tjtdd	�� t | g d¢g d¢gdd� W d   ƒ d S 1 sYw   Y  d S )Nr   r   rœ   )r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   Ú	sortorderz%.* sortorder 2 with lexsort_depth 1.*r"   )r   r   r   r   r   r   z%.* sortorder 1 with lexsort_depth 0.*)r   r   r   r   r   r   )r   r   r   r   r   r   )r   r&   r'   r(   r%   r   r   r    Útest_raise_invalid_sortorderð  s   ÿÿÿÿ"ÿr	  c                  C   s.  t jg d¢d dd�} tddddd	�}t | |g¡}t jg d¢dd�}t |jd
 |¡ t |jd |¡ t 	d¡}t
 ¡ }t ¡ }t |||g|||g¡D ]#\}}t |g|gg¡}	t|	jd
 t jƒsfJ ‚t|	jd t jƒsqJ ‚qNt ¡ }
t |
g|gg¡}	t|	jd
 t jƒrŠJ ‚t|	jd t jƒs•J ‚d S )N)z2013-04-01 9:00z2013-04-02 9:00z2013-04-03 9:00r   rw   )rv   z
2010/01/01rí   ÚMErt   )rq   rp   rv   r   r   Útoday)rK   ÚDatetimeIndexr	   r   r`   r   r   r   r<   Ú
datetime64r   r  r   Ú	itertoolsÚproductr°   r   r   )rk   rl   rA   Ú	expected1Údate1Údate2Údate3Úd1Úd2r«   Údate4r   r   r    Útest_datetimeindex  s*   ÿÿ
 r  c                  C   s¼   t jddgddd�} t jddgdd	d�}t | |g¡}|jddgks$J ‚t |jd
 | ¡ t |jd |¡ t t| ƒt|ƒg¡}|jddgksJJ ‚t |jd
 | ¡ t |jd |¡ d S )Nz2013/01/01 09:00z2013/01/02 09:00Údt1z
US/Pacific)r   rv   z2014/01/01 09:00z2014/01/02 09:00Údt2rw   r   r   )	rK   r  r   r`   r   r   r   r   r   )r«   rª   r   r   r   r    Útest_constructor_with_tz&  s   
ÿ
ÿr  c                  C   sž   t  ¡ } | | g}t|ƒ}|jtksJ ‚t |g¡}|jd }|jtks%J ‚t |g¡}|jd }|jtks7J ‚t 	dd„ |D ƒ¡}|jd }|jtksMJ ‚d S )Nr   c                 S   s   g | ]}|f‘qS r   r   )rY   rÉ   r   r   r    r\   M  s    z9test_multiindex_inference_consistency.<locals>.<listcomp>)
r   r  r   rÜ   rÚ   r   r`   r   r°   rŸ   )ÚvÚarrrA   r4   rZ   r   r   r    Ú%test_multiindex_inference_consistency;  s   


r  c                 C   sb   t jdgdggddgd�}|j}| sdntjtjd�}td|gt  ddg¡t	d	�}t
 ||¡ d S )
Nr   r7   r–   )rO   Údr1   rÚ   )Úna_valueÚint64)r«   rÜ   )r   r`   rø   rK   ÚStringDtyper<   rJ   r   rŸ   rÚ   r   Úassert_series_equal)Úusing_infer_stringÚpmidxr   Úexpr   r   r   r    Útest_dtype_representationR  s   ýr&  )Ir   r   r  Únumpyr<   r&   Úpandas.core.dtypes.castr   ÚpandasrK   r   r   r   r   r	   Úpandas._testingÚ_testingr   r!   r,   r6   rE   rM   rS   rd   rf   rj   ÚmarkÚparametrizer}   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Ù   rÝ   râ   rë   r=   rï   rþ   r  r  r  r	  r  r  r  r&  r   r   r   r    Ú<module>   s   
& þþþ÷þ
éþ
&ÿ
ÿ

	,ÿ
ýùþ
*

úþ
ÿ


þþ

 