3
Ud                 @   s   d Z ddlmZ ddlZddlZddlmZ ddlj	Z
ejjdddggdd Zejjd	e ed
deddgdd Zdd Zdd Zdd Zejjdddddd
dgdd Zejjdddgd d! ZdS )"zf
Tests that comments are properly handled during parsing
for all of the parsers defined in parsers.py
    )StringION)	DataFrame	na_valuesNaNc             C   sP   | }d}t dddgdtjdggddd	gd
}|jt|d|d}tj|| d S )Nz&A,B,C
1,2.,4.#hello world
5.,NaN,10.0
g      ?g       @g      @g      @g      $@ABC)columns#)commentr   )r   npnanread_csvr   tmassert_frame_equal)all_parsersr   parserdataexpectedresult r   W/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/io/parser/test_comment.pytest_comment   s    "r   read_kwargs*)lineterminatorT)delim_whitespacec             C   s   | }d}|j dr |jdd}n0|j drP|jdkr>tjd |jd|j d}d	|d
< |jt|f|}tdddgdtj	dggdddgd}t
j|| d S )Nz@# empty
A,B,C
1,2.,4.#hello world
#ignore this line
5.,NaN,10.0
r   , r   cz2Custom terminator not supported with Python engine
r
   r   g      ?g       @g      @g      @g      $@r   r   r   )r	   )getreplaceZenginepytestskipr   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   test_line_comment   s    



"r%   c             C   sP   | }d}t dddgdtjdggddd	gd
}|jt|ddd}tj|| d S )NzH# empty
random line
# second empty line
1,2,3
A,B,C
1,2.,4.
5.,NaN,10.0
g      ?g       @g      @g      @g      $@r   r   r   )r	   r
      )r   skiprows)r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   test_comment_skiprows8   s    "r(   c             C   sP   | }d}t dddgdtjdggddd	gd
}|jt|ddd}tj|| d S )Nz<# empty
# second empty line
1,2,3
A,B,C
1,2.,4.
5.,NaN,10.0
g      ?g       @g      @g      @g      $@r   r   r   )r	   r
      )r   header)r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   test_comment_headerJ   s    "r+   c             C   sR   | }d}t dddgdtjdggddd	gd
}|jt|dddd}tj|| d S )NzU# empty
# second empty line
# third empty line
X,Y,Z
1,2,3
A,B,C
1,2.,4.
5.,NaN,10.0
g      ?g       @g      @g      @g      $@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   test_comment_skiprows_header[   s    	"r,   comment_charr
   ~&^@c             C   sT   | }d}|j t|jd||d}tdddgddd	ggd
ddgd}tj|| d S )Nz,a,b,c
1,2,3#ignore this!
4,5,6#ignorethistoor
   )r   r)         r&         abr   )r	   )r   r   r"   r   r   r   )r   r-   r   r   r   r   r   r   r   test_custom_comment_charp   s    "r8   r*   Zinferc             C   sl   | }d}|d kr.t ddgddgddgd}nt d	d
dggdddgd}|jt|d|d}tj|| d S )Nz # notes
a,b,c
# more notes
1,2,3r6   1r7   2r   3)r   r)   r2   r)   r2   r3   )r	   r
   )r   r*   )r   r   r   r   r   )r   r*   r   r   r   r   r   r   r   test_comment_first_line|   s    r<   )__doc__ior   Znumpyr   r#   Zpandasr   Zpandas._testingZ_testingr   markZparametrizer   dictr%   r(   r+   r,   r8   r<   r   r   r   r   <module>   s   
$"