U
    Mf^                     @   sL  d Z ddlmZ ddlmZ ddlZddlZddlmZmZm	Z	 ddl
mZ ejdZejdZejdd	dd
ddddgdeddddgddddgddddgddddgddddgddddggeddddd d!gd
d"ddddgd#fd$dd%gd&d'ddddgdeddddgddddgddddgddddgddddgge	jd(d)d*d+d,gd&d'gd-ddddgd#fgd.d/ Zejd0dd%gd%dggd1d2 Zed3d4 Zeejd5d6ed7d8gd9dgfd:ee	d;d<gd9dd%gfgejd=d>d?gd@dA ZedBdC ZdDdE ZedFdG ZedHdI ZedJdK ZedLdM ZedNdO ZdS )Pzy
Tests that work on both the Python and C engines but do not have a
specific classification into the other test modules.
    )datetime)StringION)	DataFrameIndex
MultiIndexZpyarrow_xfailZpyarrow_skipzdata,kwargs,expectedz[foo,2,3,4,5
bar,7,8,9,10
baz,12,13,14,15
qux,12,13,14,15
foo2,12,13,14,15
bar2,12,13,14,15
indexABCD)	index_colnames                  	   
               foobarbazquxfoo2Zbar2name)r   columnsz_foo,one,2,3,4,5
foo,two,7,8,9,10
foo,three,12,13,14,15
bar,one,12,13,14,15
bar,two,12,13,14,15
   Zindex1index2r   oner   twor   Zthreer   r%   r   r'   r   c                 C   s&   | }|j t|f|}t|| d S )N)read_csvr   tmassert_frame_equal)all_parsersdatakwargsexpectedparserresult r5   L/tmp/pip-unpacked-wheel-eb6vo0j3/pandas/tests/io/parser/common/test_index.pytest_pass_names_with_index   s    9r7   r   c                 C   sr   d}d |ddd  }ddddg}| }|jt||d |d}|jt||d	}d gd
 |j_t|| d S )Nzuindex1,index2,A,B,C,D
foo,one,2,3,4,5
foo,two,7,8,9,10
foo,three,12,13,14,15
bar,one,12,13,14,15
bar,two,12,13,14,15

r"   r   r	   r
   r   )r   headerr   r   r   )joinsplitr,   r   r   r   r-   r.   )r/   r   r0   Zheadless_datar   r3   r4   r2   r5   r5   r6   test_multi_index_no_level_namesW   s       r=   c              
   C   s~   | }d}| t|}tddddgdddd	gd
dddgd
dddgd
dddggddddgtdddddgd}t|| d S )NzgA,B,C,D
foo,one,2,3,4,5
foo,two,7,8,9,10
foo,three,12,13,14,15
bar,one,12,13,14,15
bar,two,12,13,14,15
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   from_tuplesr-   r.   r/   r3   r0   r4   r2   r5   r5   r6   (test_multi_index_no_level_names_implicito   s*    





rA   zdata,expected,headerza,babr!   za,b
c,d)rB   c)rC   d
round_tripTFc                 C   s:   | }|r|j ddn|}|jt||d}t|| d S )NF)r   )r9   )Zto_csvr,   r   r-   r.   )r/   r0   r2   r9   rG   r3   r4   r5   r5   r6   test_multi_index_blank_df   s    rH   c                 C   sd   | }d}|j t|dd}tdddddgdddd	d
gdddddggdddddgd}t|| d S )Nz+ id c0 c1 c2
0 1 0 a b
1 2 0 c d
2 2 2 e f
 )sepr   r"   rB   rC   r   rE   rF   efz
Unnamed: 0idZc0Zc1c2rD   )r,   r   r   r-   r.   r@   r5   r5   r6   test_no_unnamed_index   s    &rO   c              
   C   s   d}| }|j t|dd}tddddgdd	d
dgddddgddddgddddgddddggddddgtddddddgddd}t|| d S )Nzgindex,A,B,C,D
foo,2,3,4,5
bar,7,8,9,10
baz,12,13,14,15
qux,12,13,14,15
foo,12,13,14,15
bar,12,13,14,15
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/   r0   r3   r4   r2   r5   r5   r6   "test_read_duplicate_index_explicit   s    






rR   c              
   C   s   d}| }| t|}tddddgdddd	gd
dddgd
dddgd
dddgd
dddggddddgtddddddgd}t|| d S )NzaA,B,C,D
foo,2,3,4,5
bar,7,8,9,10
baz,12,13,14,15
qux,12,13,14,15
foo,12,13,14,15
bar,12,13,14,15
r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r>   rP   rQ   r5   r5   r6   "test_read_duplicate_index_implicit   s    






rS   c                 C   s   | }t j|d}|j|ddd}tddddd	gd
ddddgdddddgdddddgdddddggddd d!d"gttd#d$d%td#d$d&td#d$d'td#d$d(td#d$d)gd*}t|| d S )+Nz	test2.csvr   T)r   Zparse_datesgA	]^?gֈ`|@g% TO׿gnIr   g=HOC?gW\g~q"BĿg=4?r   gZH?g7ne?g>ݦ4g_YiR?r   g䞮X?gt]?gnk3Am?g-?r   gP,߿g~W[I?gN6gFgZ&|?r   r   r	   r
   r   Ei  r"   r   r   r      r   r>   )	ospathr;   r,   r   r   r   r-   r.   )r/   Zcsv_dir_pathr3   Zcsv2r4   r2   r5   r5   r6   test_read_csv_no_index_name   s*    




rX   c                 C   s@   d}| }|j t|dd}tdgtg ddd}t|| d S )Nzx,yr   r:   yxr   r>   rP   rQ   r5   r5   r6   test_empty_with_index
  s
    r[   c                 C   sP   d}| }|j t|ddgd}tdgtjg gd ddgdd}t|| d S )	Nx,y,zrZ   rY   r:   zr   r+   r>   r,   r   r   r   Zfrom_arraysr-   r.   rQ   r5   r5   r6   test_empty_with_multi_index  s     r_   c                 C   sP   d}| }|j t|ddgd}tdgtjg gd ddgd	d
}t|| d S )Nr\   r"   r   r:   r]   r   rY   rZ   r+   r>   r^   rQ   r5   r5   r6   $test_empty_with_reversed_multi_index"  s     r`   )__doc__r   ior   rV   ZpytestZpandasr   r   r   Zpandas._testingZ_testingr-   markZusefixturesZxfail_pyarrowZskip_pyarrowZparametrizer?   r7   r=   rA   rH   rO   rR   rS   rX   r[   r_   r`   r5   r5   r5   r6   <module>   s   













8


!	





