ó
šxŠ\c           @   s&  d  Z  d d l Z d d l Z d d l m Z d d l m Z d d l j	 j
 Z e j j d d d g g ƒ d „  ƒ Z e j j d e ƒ  e d	 d
 ƒ e d e ƒ g ƒ d „  ƒ Z d „  Z d „  Z d „  Z e j j d d d d d d
 d g ƒ d „  ƒ Z e j j d d d g ƒ d „  ƒ Z d S(   sf   
Tests that comments are properly handled during parsing
for all of the parsers defined in parsers.py
iÿÿÿÿN(   t   StringIO(   t	   DataFramet	   na_valuest   NaNc         C   sw   |  } d } t  d d d g d t j d g g d d d	 d
 g ƒ} | j t | ƒ d d d | ƒ} t j | | ƒ d  S(   Ns&   A,B,C
1,2.,4.#hello world
5.,NaN,10.0
g      ð?g       @g      @g      @g      $@t   columnst   At   Bt   Ct   commentt   #R   (   R   t   npt   nant   read_csvR    t   tmt   assert_frame_equal(   t   all_parsersR   t   parsert   datat   expectedt   result(    (    sB   lib/python2.7/site-packages/pandas/tests/io/parser/test_comment.pyt   test_comment   s    $	t   read_kwargst   lineterminatort   *t   delim_whitespacec         C   sè   |  } d } | j  d ƒ r0 | j d d ƒ } nL | j  d ƒ r| | j d k r^ t j d ƒ n  | j d | j  d ƒ ƒ } n  d	 | d
 <| j t | ƒ |  } t d d d g d t j	 d g g d d d d g ƒ} t
 j | | ƒ d  S(   Ns@   # empty
A,B,C
1,2.,4.#hello world
#ignore this line
5.,NaN,10.0
R   t   ,t    R   t   cs2   Custom terminator not supported with Python engines   
R	   R   g      ð?g       @g      @g      @g      $@R   R   R   R   (   t   gett   replacet   enginet   pytestt   skipR   R    R   R
   R   R   R   (   R   R   R   R   R   R   (    (    sB   lib/python2.7/site-packages/pandas/tests/io/parser/test_comment.pyt   test_line_comment   s    
$c         C   sw   |  } d } t  d d d g d t j d g g d d d	 d
 g ƒ} | j t | ƒ d d d d ƒ} t j | | ƒ d  S(   NsH   # 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	   t   skiprowsi   (   R   R
   R   R   R    R   R   (   R   R   R   R   R   (    (    sB   lib/python2.7/site-packages/pandas/tests/io/parser/test_comment.pyt   test_comment_skiprows<   s    $!c         C   sw   |  } d } t  d d d g d t j d g g d d d	 d
 g ƒ} | j t | ƒ d d d d ƒ} t j | | ƒ d  S(   Ns<   # 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	   t   headeri   (   R   R
   R   R   R    R   R   (   R   R   R   R   R   (    (    sB   lib/python2.7/site-packages/pandas/tests/io/parser/test_comment.pyt   test_comment_headerM   s    $!c         C   s}   |  } d } t  d d d g d t j d g g d d d	 d
 g ƒ} | j t | ƒ d d d d d d ƒ} t j | | ƒ d  S(   NsU   # 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"   i   R$   i   (   R   R
   R   R   R    R   R   (   R   R   R   R   R   (    (    sB   lib/python2.7/site-packages/pandas/tests/io/parser/test_comment.pyt   test_comment_skiprows_header]   s    	$'t   comment_charR	   t   ~t   &t   ^t   @c         C   sz   |  } d } | j  t | j d | ƒ ƒ d | ƒ} t d d d g d d d	 g g d
 d d d g ƒ} t j | | ƒ d  S(   Ns,   a,b,c
1,2,3#ignore this!
4,5,6#ignorethistooR	   R   i   i   i   i   i   i   R   t   at   bR   (   R   R    R   R   R   R   (   R   R'   R   R   R   R   (    (    sB   lib/python2.7/site-packages/pandas/tests/io/parser/test_comment.pyt   test_custom_comment_charq   s    	3R$   t   inferc         C   sª   |  } d } | d  k rN t i d d g d 6d d g d 6d d	 g d
 6ƒ } n' t d d
 d g g d d d d g ƒ} | j t | ƒ d d d | ƒ} t j | | ƒ d  S(   Ns    # notes
a,b,c
# more notes
1,2,3R,   t   1i    R-   t   2i   R   t   3i   i   R   R   R	   R$   (   t   NoneR   R   R    R   R   (   R   R$   R   R   R   R   (    (    sB   lib/python2.7/site-packages/pandas/tests/io/parser/test_comment.pyt   test_comment_first_line|   s    6'!(   t   __doc__t   numpyR
   R   t   pandas.compatR    t   pandasR   t   pandas.util.testingt   utilt   testingR   t   markt   parametrizeR3   R   t   dictt   TrueR!   R#   R%   R&   R.   R4   (    (    (    sB   lib/python2.7/site-packages/pandas/tests/io/parser/test_comment.pyt   <module>   s   '			0