σ
ίόΪ\c           @` s  d  d l  m Z m Z m Z d  d l Z e j d  e j d  d  d l j Z d  d l	 j
 Z d  d l m Z d  d l m Z d  d l m Z m Z m Z d  d l Z d  d l Z d  d l j j Z e j i d d	 d
 g d 6d d  d d g e j i d d d g d 6d d d d g e j i d d d g d 6d d d d g g Z d   Z e d d d e  d    Z e d e  d     Z  e d e  d!    Z! e j" j# d" e d#   g  d$    Z$ d%   Z% d&   Z& e d e  d'    Z' d(   Z( e d e  d)    Z) d S(*   i    (   t   print_functiont   divisiont   absolute_importNt   numpyt   pandas(   t   wait(   t   gen_cluster(   t   clientt   cluster_fixturet   loopi   i   i   t   xt   indexi
   i   i   i   i   i   i(   i2   i   i   i	   i<   iF   iP   c         C` s£   t  |   t  |  k s t  t |  t j  rC t j |  |  n\ t |  t j  rh t j |  |  n7 t |  t j	  r t j
 |  |  n |  | k s t  d  S(   N(   t   typet   AssertionErrort
   isinstancet   pdt	   DataFramet   tmt   assert_frame_equalt   Seriest   assert_series_equalt   Indext   assert_index_equal(   t   at   b(    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyt   assert_equal   s    t   timeoutiπ   R   c         c` s>  t  j i t j j d  d 6t j j d  d 6d t j d  } t j | d d } |  j |  } | j | j k s t	  |  j
 |  } | V} t j | | j
 d d   d	   d
   d   d   d   d   d   d   g }	 xO |	 D]G }
 |
 |  j
 d d  } |  j
 |
 |   } | V} t | |  qο Wd  S(   Niθ  R
   t   yR   t   npartitionsi
   t	   schedulert   syncc         S` s   |  j  j   S(   N(   R
   t   mean(   t   df(    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyt   <lambda>8   t    c         S` s   |  j  j   S(   N(   R   t   std(   R    (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   9   R"   c         S` s    |  j  d |  j |  j  j   S(   Nt   z(   t   assignR
   R   t   drop_duplicates(   R    (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   :   R"   c         S` s   |  j  S(   N(   R   (   R    (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   ;   R"   c         S` s   |  j  S(   N(   R
   (   R    (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   <   R"   c         S` s   |  j  j   S(   N(   R
   t   cumsum(   R    (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   =   R"   c         S` s   |  j  d d g  j   S(   NR
   R   (   t   groupbyt   count(   R    (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   >   R"   c         S` s   |  j  d d !S(   Ni2   iK   (   t   loc(   R    (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   ?   R"   (   R   R   t   npt   randomt   aranget   ddt   from_pandast   persistt	   divisionsR   t   computeR   R   R   (   t   ct   sR   R   R    t   ldft   rdft   remotet   resultt   exprst   ft   local(    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyt   test_dataframes&   s,    ,c         c` sy  d d  l  j } t | _ d   t d  D } d   t d  D } |  j |  V} |  j |  V} t j j d  j }	 | j	 | d d d f |	  }
 | j	 | d d d f |	  } | j	 | d d d f |	  } | j	 | d d d f |	  } d   d	   d
   d   g } xc | D][ } | |
 |  j
 d d  } |  j
 | | |   } | V} t j | | k  st  qWd  S(   Ni    c         S` sA   i  |  ]7 } t  d   D]$ } t j j d  d | | f  q q S(   i   i   R
   (   i   i   (   t   rangeR+   R,   (   t   .0t   it   j(    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pys
   <dictcomp>M   s   	 i   c         S` sA   i  |  ]7 } t  d   D]$ } t j j d  d | | f  q q S(   i   R   (   i   i   (   R=   R+   R,   (   R>   R?   R@   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pys
   <dictcomp>N   s   	 i   R
   R   c         S` s   |  j  | S(   N(   t   T(   R
   R   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   Z   R"   c         S` s   |  j    | j    S(   N(   R   (   R
   R   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   [   R"   c         S` s   |  j  |  j d d  S(   Nt   axisi    (   t   dotR#   (   R
   R   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   \   R"   c         S` s$   |  |  j  d d  d  d   d  f S(   NRB   i   (   R   t   None(   R
   R   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   ]   R"   R   R   (   i   i   i   (   i   i   (   i   i   (   i   i   i   (   i   i   i   (   i   i   (   i   i   (   i   i   i   (   t
   dask.arrayt   arrayt   Falset   validateR=   t   scatterR+   R,   t   dtypet   ArrayR2   t   allR   (   R3   R4   R   R   t   dat   x_dskt   y_dskt	   x_futurest	   y_futurest   dtt   x_localt   y_localt   x_remotet   y_remoteR9   t   exprR;   R7   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyt   test__dask_array_collectionsH   s(    	c         C` sK   t  j d d d } | j d    } t d   | j D  sG t  d  S(   Nid   R   i
   c         S` s   |  d S(   Ni   (    (   R
   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   l   R"   c         s` s   |  ] } d  | d k Vq d S(   t   partdi    N(    (   R>   t   k(    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pys	   <genexpr>m   s    (   t   dbR=   R(   t   anyt   daskR   (   R3   R4   R   R   t   b2(    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyt   test_bag_groupby_tasks_defaulti   s    R   c         C` s   d  S(   N(   RD   (   R
   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!   p   R"   c      
   C` s   t  j j d d i t d 6t d 6t d 6d d d d	 d
 d } | j |  } |  |  | j d d d } | j |  } t |  s t	  d  S(   Nt   2000t   2001t   valuet   namet   idt   freqt   2Ht   partition_freqt   1Mt   seedi   t   shufflet   tasks(
   R.   t   demot   make_timeseriest   floatt   strt   intR0   t	   set_indext   lenR   (   R   R   R    t   df2(    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyt   test_dataframe_set_index_syncp   s    		
c         C` s?   t  j j j   } t j | d d } | j d d !j   d  S(   NR   i
   s
   2000-01-17s
   2000-01-24(   R   t   utilt   testingt   makeTimeDataFrameR.   R/   R*   R2   (   R   R    t   ddf(    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyt   test_loc_sync   s    c         C` sG   t  j j j   } t j | d d } | j j d  j   j	   d  S(   NR   i
   i   (
   R   Ru   Rv   Rw   R.   R/   t   At   rollingR   R2   (   R   R    Rx   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyt   test_rolling_sync   s    c         c` sI   t  j j j   } t j | d d } |  j | j d d ! } | Vd  S(   NR   i
   s
   2000-01-17s
   2000-01-24(   R   Ru   Rv   Rw   R.   R/   R2   R*   (   R3   R4   R   R   R    Rx   t   future(    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyt   test_loc   s    c         C` s  t  j j j   } | j d | d <| j d | d <t j | d d } x(d   d   g D]} | j | |   j	 t
  } | j | |   j	 t
 d t } t | | j d	 d
  j    t d   | j D  sγ t  | j | |   j j	 t
  } | j | |   j j	 t
 d d t f } t | | j d	 d
  j    t d   | j D  s\ t  q\ Wt j t t f  + | j | d d g  j	 t
 d t Wd  QX| j d d g  j	 t
  } | j d d g  j	 t
 d t } t | | j d	 d
  j    d  S(   NgΉ?Rz   t   BR   i
   c         S` s   d S(   NRz   (    (   R
   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!      R"   c         S` s   |  j  S(   N(   Rz   (   R
   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyR!      R"   t   metaR   R   c         s` s   |  ] } d  | d k Vq d S(   RY   i    N(    (   R>   RZ   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pys	   <genexpr>‘   s    c         s` s   |  ] } d  | d k Vq d S(   RY   i    N(    (   R>   RZ   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pys	   <genexpr>¦   s    (   R   Ru   Rv   Rw   Rz   R   R.   R/   R(   t   applyRr   Rp   R   R2   t
   sort_indexR\   R]   R   t   pytestt   raisest   NotImplementedErrort
   ValueError(   R   R    Rx   t   indR   R   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyt   test_dataframe_groupby_tasks   s$    $ !-$,$c         c` s   t  j d  } t  j d  } | j j d	 d d
 } d | | d k  <| j | j  } |  j | j d d  d   } | Vd  S(   Nt   sparses
   dask.arrayid   i
   t   chunksi    gffffffξ?RB   (   id   i
   (   i
   i
   (   R   t   importorskipR,   t
   map_blockst   COOR2   t   sum(   R3   R4   R   R   R   RM   R
   R}   (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyt   test_sparse_arrays±   s    (*   t
   __future__R    R   R   R   R   t   dask.dataframet	   dataframeR.   t   dask.bagt   bagR[   t   distributed.clientR   t   distributed.utils_testR   R   R   R	   R   R+   R   R   t   pandas.util.testingRu   Rv   R   R   t   dfsR   t   TrueR<   RX   R_   t   markt   parametrizeRt   Ry   R|   R~   R   R   (    (    (    sA   lib/python2.7/site-packages/distributed/tests/test_collections.pyt   <module>   s0   ++1	"!'			