ó
šxŠ\c           @   s¼   d  Z  d d l m Z d d l Z d d l Z d d l Z d d l j	 j
 Z d d l m Z m Z d d l m Z m Z e j d ƒ Z e e j ƒ Z e j j d e f d „  ƒ  Yƒ Z d S(	   s    test feather-format compat iÿÿÿÿ(   t   LooseVersionN(   t   assert_frame_equalt   ensure_clean(   t   read_feathert
   to_feathert   pyarrowt   TestFeatherc           B   s€   e  Z d  „  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z RS(   c         C   s9   t  j | ƒ $ t ƒ   } t | | ƒ Wd  QXWd  QXd  S(   N(   t   pytestt   raisesR   R   (   t   selft   dft   exct   path(    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt   check_error_on_write   s    c         K   sT   | d  k r | } n  t ƒ  0 } t | | ƒ t | |  } t | | ƒ Wd  QXd  S(   N(   t   NoneR   R   R   R   (   R	   R
   t   expectedt   kwargsR   t   result(    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt   check_round_trip   s    	c         C   sa   xZ t  j d d d g ƒ d d t  j d ƒ t j d d d g ƒ g D] } |  j | t ƒ qC Wd  S(   Ni   i   i   t   foot   20130101(   t   pdt   Seriest	   Timestampt   npt   arrayR   t
   ValueError(   R	   t   obj(    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt
   test_error)   s    *c         C   sU  t  j i t d ƒ d 6t t d d ƒ ƒ d 6t j d d ƒ j d ƒ d	 6t j d
 d d d ƒd 6d t j d g d 6t t	 t g d 6t t j t	 g d 6t  j
 t d ƒ ƒ d 6t  j d d d ƒd 6t  j d d d d d ƒd 6t  j d ƒ t  j t  j d ƒ g d 6t  j d d d d d ƒd 6ƒ } | j j j j d k sDt ‚ |  j | ƒ d  S(   Nt   abct   stringi   i   t   inti   i   t   u1t   uintg      @g      @t   dtypet   float64t   floatg      ð?t   float_with_nullt   boolt   bool_with_nullt   catR   t   periodst   dtt   tzs
   US/Easternt   dttzt   20130103t   dt_with_nullt   freqt   nst   dtns(   R   t	   DataFramet   listt   rangeR   t   aranget   astypet   nant   Truet   Falset   Categoricalt
   date_rangeR   t   NaTR,   R"   R+   t   zonet   AssertionErrorR   (   R	   R
   (    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt
   test_basic/   s"    
c         C   sJ   t  j t j d ƒ j d d ƒ d t d ƒ ƒj ƒ  } |  j | t ƒ d  S(   Ni   i   i   t   columnst   aaa(	   R   R2   R   R5   t   reshapeR3   t   copyR   R   (   R	   R
   (    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt   test_duplicate_columnsD   s    !c         C   s>   t  j t j d ƒ j d d ƒ ƒ j ƒ  } |  j | t ƒ d  S(   Ni   i   i   (   R   R2   R   R5   RB   RC   R   R   (   R	   R
   (    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt   test_stringify_columnsL   s    *c         C   s‚   t  j i t d ƒ d 6t t d d ƒ ƒ d 6t d ƒ d 6t t d d ƒ ƒ d	 6ƒ } d d g } |  j | d
 | | d | ƒd  S(   NR   t   col1i   i   t   col2t   xyzt   col3i   t   col4R   R@   (   R   R2   R3   R4   R   (   R	   R
   R@   (    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt   test_read_columnsQ   s    c         C   s?   t  j i t  j d d d d d ƒd 6ƒ } |  j | t ƒ d  S(   Nt   2013R/   t   MR)   i   t   a(   R   R2   t   period_rangeR   t	   Exception(   R	   R
   (    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt   test_unsupported_other[   s    +c      	      sÏ   t  j i t j d ƒ d 6ƒ } d ‰  t j t d t ƒ } |  j | d d ƒWd  QXt	 ‡  f d †  | Dƒ ƒ sx t
 ‚ t j t d t ƒ } |  j | d d ƒWd  QXt	 ‡  f d	 †  | Dƒ ƒ sË t
 ‚ d  S(
   Ni † t   As?   the 'nthreads' keyword is deprecated, use 'use_threads' insteadt   check_stacklevelt   nthreadsi   c         3   s!   |  ] } ˆ  t  | ƒ k Vq d  S(   N(   t   str(   t   .0t   x(   t   expected_warning(    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pys	   <genexpr>m   s    i   c         3   s!   |  ] } ˆ  t  | ƒ k Vq d  S(   N(   RU   (   RV   RW   (   RX   (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pys	   <genexpr>t   s    (   R   R2   R   R5   t   tmt   assert_produces_warningt   FutureWarningR9   R   t   anyR>   (   R	   R
   t   w(    (   RX   s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt   test_rw_nthreadsb   s    "c         C   sI   t  j i t j d ƒ d 6ƒ } |  j | d t ƒ|  j | d t ƒd  S(   Ni † RR   t   use_threads(   R   R2   R   R5   R   R8   R9   (   R	   R
   (    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt   test_rw_use_threadsv   s    c      	   C   s  t  j i d d d g d 6ƒ } |  j | ƒ xr d d d g t  j d d d ƒt d ƒ d d d g t  j j d d d g ƒ g D] } | | _ |  j | t	 ƒ q~ Wd d d g | _ d | j _
 |  j | t	 ƒ d d d g | _ t  j j d d d g ƒ f | _ |  j | t	 ƒ d  S(   Ni   i   i   RR   i   R   R)   R   RN   t   bi    R   (   RN   i   (   RN   i   (   Ra   i   (   RN   i   (   RN   i   (   Ra   i   (   R   R2   R   R;   R3   t
   MultiIndext   from_tuplest   indexR   R   t   nameR@   (   R	   R
   Rd   (    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt   test_write_with_index{   s     		!c         C   s>   t  j ƒ  j ƒ  } t  j | j t j ƒ } t  j | | ƒ d  S(   N(   RY   t   makeDataFramet   reset_indext   round_trip_pathlibR   R   R   R   (   R	   R
   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt   test_path_pathlib–   s    c         C   s>   t  j ƒ  j ƒ  } t  j | j t j ƒ } t  j | | ƒ d  S(   N(   RY   Rg   Rh   t   round_trip_localpathR   R   R   R   (   R	   R
   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt   test_path_localpath›   s    N(   t   __name__t
   __module__R   R   R   R   R?   RD   RE   RK   RQ   R^   R`   Rf   Rj   Rl   (    (    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyR      s   						
					(   t   __doc__t   distutils.versionR    t   numpyR   R   t   pandasR   t   pandas.util.testingt   utilt   testingRY   R   R   t   pandas.io.feather_formatR   R   t   importorskipR   t   __version__t   pyarrow_versiont   markt   singlet   objectR   (    (    (    s;   lib/python2.7/site-packages/pandas/tests/io/test_feather.pyt   <module>   s   