ó
¦–Õ\c           @   sW  d  d l  Z  d  d l m Z d  d l m Z d  d l Z d  d l m Z d  d l j	 Z
 d  d l Z i e j i d d d g d 6d	 d
 d g d 6d d d d g ƒd 6e j i d	 d
 d g d 6d d d g d 6d d
 d d g ƒd 6e j i d d d g d 6d d d g d 6d d d d g ƒd 6Z e e j ƒ  ƒ Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿN(   t   getitem(   t   merge(   t   dataframe_from_ctablei   i   i   t   ai   i   i   t   bt   indexi    t   xi   i   i	   c             s4  t  j d ƒ }  |  j d d d g d d d g g d d	 d
 g ƒ‰  xë d  d d g g D]× ‰ t t ‡  ‡ f d †  d d d g Dƒ ƒ t d „  d d d g Dƒ ƒ ƒ } t ‡  f d †  d d d g Dƒ ƒ } t j j d d ƒ 9 t	 j
 | g  d d d g D] } d | f ^ qù ƒ } Wd  QX| | k sU t ‚ qU Wd  S(   Nt   bcolzi   i   i   i
   i   i   t   namesR   R   t   abcc         3   s9   |  ]/ } d  | f t  ˆ  t d d ƒ ˆ i  f f Vq d S(   R   i    i   N(   R   t   slice(   t   .0t   i(   t   bct   cols(    sK   lib/python2.7/site-packages/dask/dataframe/tests/test_optimize_dataframe.pys	   <genexpr>   s   c         s   s6   |  ], } d  | f t  d | f d d g f f Vq d S(   t   yR   R   R   N(   R    (   R   R   (    (    sK   lib/python2.7/site-packages/dask/dataframe/tests/test_optimize_dataframe.pys	   <genexpr>   s   c         3   s?   |  ]5 } d  | f t  ˆ  t d d ƒ d d g i  f f Vq d S(   R   i    i   R   R   N(   R   R
   (   R   R   (   R   (    sK   lib/python2.7/site-packages/dask/dataframe/tests/test_optimize_dataframe.pys	   <genexpr>   s   t   fuse_ave_widthi    R   (   t   pytestt   importorskipt   ctablet   NoneR   t   dictt   daskt   configt   sett   ddt   optimizet   AssertionError(   R   t   dsk2t   expectedR   t   result(    (   R   R   sK   lib/python2.7/site-packages/dask/dataframe/tests/test_optimize_dataframe.pyt0   test_column_optimizations_with_bcolz_and_rewrite   s    3	:c          C   sÏ   t  j i t d ƒ d 6ƒ }  t j |  d d ƒ}  |  j d |  j d } t j j d d ƒ   | j	 | j | j
 ƒ  ƒ } Wd  QX| j	 | j | j
 ƒ  ƒ } t | ƒ d	 k s³ t ‚ t | ƒ d	 k sË t ‚ d  S(
   Ni
   R   t   npartitionsi   i   i   R   i   i   (   t   pdt	   DataFramet   rangeR   t   from_pandasR   R   R   R   t   __dask_optimize__t   __dask_keys__t   lenR   (   t   dft   sR   R   (    (    sK   lib/python2.7/site-packages/dask/dataframe/tests/test_optimize_dataframe.pyt   test_fuse_ave_width(   s    !c          C   s¨   d d l  m }  t j i t d ƒ d 6t d ƒ d 6ƒ } t j | d d ƒ} x, t d ƒ D] } | j d | j | d <q[ W|  | j	 ƒ } t
 | ƒ d	 k s¤ t ‚ d  S(
   Niÿÿÿÿ(   t   optimize_blockwisei
   R   R   R    i   i   i   (   t   dask.array.optimizationR+   R!   R"   R#   R   R$   R   R   R   R'   R   (   R+   R(   t   ddfR   t   graph(    (    sK   lib/python2.7/site-packages/dask/dataframe/tests/test_optimize_dataframe.pyt   test_optimize_blockwise7   s    )(   R   i    (   R   i   (   R   i   (   R   t   operatorR    t   toolzR   R   t   dask.dataframe.ioR   t   dask.dataframet	   dataframeR   t   pandasR!   R"   t   dskt   listt   valuest   dfsR   R*   R/   (    (    (    sK   lib/python2.7/site-packages/dask/dataframe/tests/test_optimize_dataframe.pyt   <module>   s    /,,		