ó
¦–Õ\c           @` sÙ  d  d l  m Z m Z m Z d  d l m Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l m Z m Z m Z m Z m Z m Z m Z m Z d  d l Z d  d l j Z d  d l m Z m Z m Z m Z m Z m Z m Z m  Z  m! Z! m" Z" m# Z# d  d l$ m% Z% d  d l& m' Z' m( Z( m) Z) m* Z* d  d l+ m, Z, d  d	 l- m. Z. m/ Z/ m0 Z0 d  d
 l1 m2 Z2 m3 Z3 i e4 d f d¡ 6e4 d f d¢ 6e4 d f d£ 6Z5 e6 e4 d ƒ ƒ d Z7 e e5 d d ƒ Z8 d „  Z9 d „  Z: d „  Z; d „  Z< d „  Z= d „  Z> d „  Z? d „  Z@ d „  ZA d „  ZB e
 jC jD d eE eF g ƒ d „  ƒ ZG d „  ZH d „  ZI d „  ZJ d „  ZK d  „  ZL d! „  ZM d" „  ZN d# „  ZO d$ „  ZP d% „  ZQ e
 jC jD d& d d g ƒ d' „  ƒ ZR d( „  ZS d) „  ZT d* „  ZU d+ „  ZV d, „  ZW e
 jC jD d& d d d- g ƒ d. „  ƒ ZX e
 jC jD d& d d/ g ƒ d0 „  ƒ ZY d1 „  ZZ d2 „  Z[ e
 jC jD d3 e e j\ d4 „  g ƒ d5 „  ƒ Z] d6 „  Z^ d7 „  Z_ d8 „  Z` d9 „  Za d: „  Zb d; „  Zc d< „  Zd d= „  Ze d> „  Zf d? „  Zg d@ „  Zh dA „  Zi dB „  Zj dC „  Zk dD „  Zl dE „  Zm dF „  Zn dG „  Zo e
 jC jp e
 jC jq e
 jC jr dH dI ƒ dJ „  ƒ ƒ ƒ Zs dK „  Zt dL „  Zu dM „  Zv dN „  Zw e
 jC jp e
 jC jq dO „  ƒ ƒ Zx dP „  Zy dQ „  Zz dR „  Z{ dS „  Z| dT „  Z} dU „  Z~ dV „  Z dW „  Z€ dX „  Z dY „  Z‚ dZ „  Zƒ d[ „  Z„ d\ „  Z… d] e( f d^ e† f g Z‡ e) sKe‡ jˆ d_ e' f ƒ n  e
 jC jD d` e‡ ƒ da „  ƒ Z‰ db „  ZŠ dc „  Z‹ dd „  ZŒ de „  Z df „  ZŽ dg „  Z dh „  Z di „  Z‘ dj „  Z’ dk „  Z“ dl e j f dm „  ƒ  YZ” dn „  Z• do „  Z– dp „  Z— dq „  Z˜ dr „  Z™ ds „  Zš dt „  Z› du „  Zœ e
 jC jD d& d dv d/ dw g ƒ dx dy „ ƒ Z e
 jC jD dz d d dv d{ d| g ƒ e
 jC jD d} d d d d~ d| g ƒ d „  ƒ ƒ Zž d€ „  ZŸ e
 jC j  d ƒ d‚ „  ƒ Z¡ dƒ „  Z¢ d„ „  Z£ e
 jC jD d… d¤ d¥ d¦ g ƒ dŒ „  ƒ Z¤ d „  Z¥ dŽ „  Z¦ d „  Z§ e
 jC jD d& d d d- g ƒ d „  ƒ Z¨ d‘ e© f d’ „  ƒ  YZª d“ „  Z« d” „  Z¬ d• „  Z­ d– „  Z® d— „  Z¯ d˜ „  Z° d™ „  Z± dš „  Z² d› „  Z³ dœ „  Z´ d „  Zµ dž „  Z¶ dŸ „  Z· d  „  Z¸ d S(§   i    (   t   absolute_importt   divisiont   print_function(   t   repeatN(   t   merget   joint   filtert   identityt   valmapt   groupbyt   pluckt   unique(   t   Bagt   lazifyt   lazify_taskt   mapt   collectt   reducebyt   reifyt	   partitiont   inline_singleton_listst   optimizet   from_delayed(   t	   assert_eq(   t   BZ2Filet   GzipFilet   PY2t   Iterator(   t   Delayed(   t	   filetextst   tmpfilet   tmpdir(   t   inct   addi   t   xi   i   i   c         C` s   |  d d k S(   Ni   i    (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   iseven"   s    c         C` s   |  d d k S(   Ni   i   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   isodd&   s    c           C` s.   t  j d k s t ‚ t  j d k s* t ‚ d  S(   NR"   i   (   t   bt   namet   AssertionErrort   npartitions(    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_Bag*   s    c           C` s(   t  j ƒ  t t j ƒ  ƒ k s$ t ‚ d  S(   N(   R%   t   __dask_keys__t   sortedt   dskt   keysR'   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt	   test_keys/   s    c          C` s¤  t  j t d ƒ d d ƒ}  t  j t d d ƒ d d ƒ} |  j ƒ  } | j ƒ  } d d d d „ } t t  j | |  ƒ t t | | ƒ ƒ ƒ t t  j | d	 |  ƒt t | | ƒ ƒ ƒ t t  j | |  | ƒ t t | | | ƒ ƒ ƒ t t  j | |  d ƒ g  | D] } | | d ƒ ^ q ƒ t t  j | d d
 |  ƒg  | D] } | d d
 | ƒ^ q;ƒ g  t | | ƒ D]$ \ } } | | d
 | d d ƒ^ qj} t t  j | |  d
 | d d ƒ| ƒ g  t | | ƒ D] \ } } | | d d ƒ^ qÉ} t t  j | |  d d ƒ| ƒ t | ƒ } g  | D] } | | d
 | d d ƒ^ q} t t  j | |  j ƒ  d
 | d d ƒ| ƒ g  | D] } | | d
 | d d ƒ^ qu} t t  j | | |  j ƒ  d d ƒ| ƒ g  | D]! } | d	 d d
 | d | ƒ ^ qÈ} t t  j | d	 d d
 |  j ƒ  d | ƒ| ƒ t	 j
 d ƒ }	 t t  j | |  |	 ƒ g  | D] } | | d ƒ ^ qHƒ t t  j | |  d
 |	 ƒg  | D] } | | d
 d ƒ^ qƒƒ t  j t d ƒ d d ƒ}
 t j t ƒ  t  j | |  |
 ƒ Wd  QXt j t ƒ ! t  j | |  j ƒ  d d ƒ Wd  QXt  j t d ƒ d d ƒ} t j t ƒ $ t  j | |  | d | ƒj ƒ  Wd  QXt j t ƒ ' t  j | |  d
 | d | ƒj ƒ  Wd  QXd  S(   Nid   R(   i
   iÈ   i   i   i   c         S` s   |  | | S(   N(    (   t   aR%   t   c(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   myadd9   s    R/   R%   R0   i   in   (   t   dbt   from_sequencet   ranget   computeR   R   t   listt   zipt   sumt   daskt   delayedt   pytestt   raisest
   ValueError(   R%   t   b2R"   t   x2R1   t   it   jt   solt   x_sumR/   t   fewer_partst   unequal(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_bag_map3   sD    (+.8>:%4+++(..8>"%c          C` s  t  j t d ƒ d d ƒ}  t  j t d d ƒ d d ƒ} |  j ƒ  } | j ƒ  } d d d „ } |  j | ƒ j ƒ  t t | | ƒ ƒ k s t ‚ |  j | | ƒ j ƒ  t t | | | ƒ ƒ k sÆ t ‚ |  j | d ƒ j ƒ  g  | D] } | | d ƒ ^ qâ k st ‚ |  j | d d ƒj ƒ  g  | D] } | | d d ƒ^ q%k sLt ‚ |  j | | d	 d ƒj ƒ  g  t | | ƒ D] \ } } | | | d ƒ ^ qwk s¤t ‚ t | ƒ } |  j | |  j ƒ  d	 d ƒj ƒ  g  | D] } | | | d ƒ ^ qØk sÿt ‚ d  S(
   Nid   R(   i
   iÈ   i   i   c         S` s   |  | | S(   N(    (   R/   R%   R0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyR1   m   s    R%   R0   (	   R2   R3   R4   R5   R   R6   R'   R7   R8   (   R%   R>   R"   R?   R1   R@   RA   RC   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_map_methodg   s    06@F=!c          C` sp  d d d d d g }  t  j |  d d ƒ} d d „ } | j | ƒ j ƒ  g  |  D] } | | Œ  ^ qO k sp t ‚ | j | d d
 ƒj ƒ  g  |  D] } | d d
 | Œ ^ q k s¶ t ‚ | j d ƒ j ƒ  } | j | d | ƒj ƒ  g  |  D] } | d | j ƒ  | Œ ^ qê k st ‚ t j d
 ƒ } | j | d | ƒj ƒ  g  |  D] } | d d
 | Œ ^ qEk slt ‚ d  S(   Ni   i   i   i   i   i   i   i   i	   i
   R(   i    c         S` s   |  | | S(   N(    (   R/   R%   R0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyR1      s    R0   (   i   i   (   i   i   (   i   i   (   i   i   (   i	   i
   (	   R2   R3   t   starmapR5   R'   R
   t   maxR9   R:   (   t   dataR%   R1   R/   t
   max_secondR0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_starmap{   s    :F4c          ` sw   t  j t ƒ ‰  t t t ‡  f d †  t t  j ƒ Dƒ ƒ ƒ }  ˆ  j |  k sR t	 ‚ ˆ  j
 t  j t ƒ j
 k ss t	 ‚ d  S(   Nc         3` s<   |  ]2 } ˆ  j  | f t t t t j  | f f f f Vq d  S(   N(   R&   R   R   R#   R%   (   t   .0R@   (   R0   (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pys	   <genexpr>   s   (   R%   R   R#   R   R,   t   dictR4   R(   R9   R'   R&   (   t   expected(    (   R0   s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_filter‹   s
    c          C` s_   d „  }  t  j |  ƒ } t | ƒ d d g d k s: t ‚ | j t  j |  ƒ j k s[ t ‚ d  S(   Nc         S` s   |  d d k S(   Ni   i    (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   <lambda>•   t    i   i   (   R%   t   removeR6   R'   R&   (   t   fR0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_remove”   s    	"c           C` sh   t  t t ƒ ƒ t  t ƒ k s$ t ‚ t  t t j t ƒ ƒ ƒ t  t t d d ƒ ƒ d ƒ k sd t ‚ d  S(   Ni   i   i   (   R+   R6   R%   t   LR'   R   R    R4   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt	   test_iter›   s    $t   funcc         C` sD   t  t j ƒ |  t ƒ k s! t ‚ t j d  |  t ƒ k s@ t ‚ d  S(   Ni   (   t   strR%   R(   R'   R&   (   RX   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt	   test_repr    s    !c          C` s  i d d g d 6d d g d 6}  t  |  d d ƒ } t | j d ƒ ƒ t d d d d	 g ƒ k se t ‚ t | j d ƒ ƒ t d d d d
 g ƒ k s˜ t ‚ t | j d d g ƒ ƒ t d d d d g ƒ k sÑ t ‚ | j d d g ƒ j | j d d g ƒ j k st ‚ d  S(   Ni   i
   i   i   R"   i    i   i   i   i(   (   i   i
   (   i   i   (   R"   i    (   i   i   (   i   i(   (   R"   i   (   i
   i   (   i   i   (   i   i   (   i(   i   (   R   t   setR
   R'   R&   (   t   dR%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt
   test_pluck¦   s    339c           ` s¿   t  j d d d g ƒ ‰  t j t ‡  f d †  ƒ t ˆ  j d d  ƒ ƒ d d  d g k s^ t ‚ ˆ  j d d  ƒ j	 ˆ  j d d  ƒ j	 k sŽ t ‚ ˆ  j d ƒ j	 ˆ  j d d  ƒ j	 k s» t ‚ d  S(   Nt   HelloRR   t   Worldc           ` s   t  ˆ  j d ƒ ƒ S(   Ni    (   R6   R
   (    (   R%   (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ²   RR   i    t   Ht   W(
   R2   R3   R;   R<   t
   IndexErrorR6   R
   t   NoneR'   R&   (    (    (   R%   s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_pluck_with_default°   s
    -0c          C` sÓ   t  j t d ƒ ƒ j d „  ƒ }  |  j d ƒ \ } } } t | ƒ t t d ƒ ƒ k s] t ‚ t | ƒ g  t d ƒ D] } | d ^ qs k s’ t ‚ | j |  j d ƒ d j k s· t ‚ | j | j k sÏ t ‚ d  S(   Nid   c         S` s   |  |  d |  d f S(   Ni   i   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ¹   RR   i   i   i    (   R2   R3   R4   R   t   unzipR6   R'   R&   (   R%   t   onet   twot   threeR@   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt
   test_unzip¸   s    !$5%c          C` s  t  j t ƒ }  |  j ƒ  t t ƒ k s- t ‚ |  j t  j t ƒ j k sN t ‚ t  j t d d ƒ} | j |  j k s{ t ‚ | j ƒ  t t ƒ d t  j k s¤ t ‚ | j t  j t d d ƒj k sË t ‚ t	 j
 t d ƒ d d ƒ}  d „  } |  j | t j d t ƒ  ƒ} | j ƒ  t |  ƒ k s+t ‚ | j |  j | t j d t ƒ  ƒj k s[t ‚ t	 j
 d ƒ } t | j d „  d d	 ƒj ƒ  ƒ t d ƒ k s t ‚ t	 j
 d
 g d g d g g d d ƒ} t | j t d g  ƒj d d ƒ ƒ t d
 d d g ƒ k s	t ‚ d  S(   Nt   initiali
   i   R(   i   c         S` s   |  j  ƒ  }  |  j | ƒ |  S(   N(   t   copyR!   (   t   accR"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   binopÍ   s    t   helloc         S` s   d j  |  | g ƒ S(   NRR   (   R   (   R/   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ×   RR   RR   i   i   t	   schedulert   sync(   R%   t   foldR!   R5   R8   RV   R'   t   keyR(   R2   R3   R4   R[   t   union(   R0   t   c2Rm   R\   t   e(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt	   test_foldÁ   s     !)'	06'c          C` sh   d „  }  t  j |  d t j d t ƒ  d t ƒ} t | t ƒ sE t ‚ t | t t t	 d ƒ ƒ ƒ ƒ d  S(   Nc         S` s   |  j  | ƒ |  S(   N(   R!   (   t   totR"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRm   Þ   s    t   combineRj   t   out_typei   (
   R%   Rq   R[   Rs   R   t
   isinstanceR'   R   R6   R4   (   Rm   R0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_fold_bagÝ   s    	'c          C` s×   t  t j ƒ  ƒ d d d d d g k s- t ‚ t j ƒ  j t j ƒ  j k sQ t ‚ d t j ƒ  j k sl t ‚ t j ƒ  j ƒ  j ƒ  d k s t ‚ t j d g d d	 d ƒ}  |  j	 d  ƒ j ƒ  j ƒ  g  k sÓ t ‚ d  S(
   Ni    i   i   i   i   t   distincti   i2   R(   (   R+   R%   R|   R'   R&   t   countR5   R2   R3   R   Rc   (   t   bag(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_distinctæ   s    -$$c          C` s§   g  d d d d d d d d d d g
 D] }  i |  d 6^ q% } t  j | d d ƒ} t t | d	 d
 „  ƒƒ } t | j d	 d ƒ | ƒ t | j d	 d „  ƒ | ƒ d  S(   Ni    i   i   i   i   i   R/   R(   Rr   c         S` s   |  d S(   NR/   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ò   RR   c         S` s   |  d S(   NR/   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ô   RR   (   R2   R3   R6   R   R   R|   (   R@   t   seqR~   RO   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_distinct_with_keyï   s
    >c          C` s¨  t  j ƒ  }  t |  ƒ i d d 6d d 6d d 6d d 6d d 6k sG t ‚ t  j d d ƒ } t | ƒ i d d 6d d 6d d 6d d 6d d 6k s” t ‚ |  j t  j ƒ  j k s² t ‚ |  j | j k sÊ t ‚ | j t  j d d ƒ j k sî t ‚ t j t d ƒ d d ƒ} | j d	 „  ƒ } | j ƒ  } t | ƒ t t	 t d
 ƒ d g d
 ƒ ƒ k s[t ‚ t j d d d d g d d ƒ} | j d  ƒ j d d ƒ } t | g  ƒ d  S(   Ni   i    i   i   i   t   split_everyi   t   partition_sizec         S` s
   |  d k  S(   Ni
   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ     RR   i
   R(   (   R%   t   frequenciesRN   R'   R&   R2   R3   R4   R   R7   Rc   R   (   R0   Rt   R>   R\   R~   t   bag2(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_frequencies÷   s    ;;$4!c          C` sX   t  j d d d d d d g ƒ }  t |  j d t ƒ j ƒ  ƒ d d	 d
 g k sT t ‚ d  S(   NR/   R%   R0   t   sorti   i   i   (   R%   i   (   R0   i   (   R/   i   (   R2   R3   R6   R„   t   TrueR5   R'   (   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_frequencies_sorted	  s    !c          C` sñ   t  t j d ƒ ƒ d d d d g k s- t ‚ t j d d d „  ƒ}  t  |  ƒ d d d d g k si t ‚ t j d d d „  d d	 ƒ} t  | ƒ d d d d g k s« t ‚ |  j | j k sÃ t ‚ t j d ƒ j t j d ƒ j k sí t ‚ d  S(
   Ni   i   Rr   c         S` s   |  S(   N(    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ     RR   i    i   c         S` s   |  S(   N(    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ     RR   R‚   i   (   R6   R%   t   topkR'   R&   (   R0   Rt   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt	   test_topk  s    -$$R(   c         C` s²   t  j d
 d d g d |  ƒ} t | j d d d ƒƒ d d g k sK t ‚ t | j d d d	 ƒƒ d d g k sx t ‚ | j d d d ƒj | j d d d ƒj k s® t ‚ d  S(   Ni   i
   i   i	   i   i   R(   Rr   i    (   i   i
   (   i   i	   (   i   i   (   i   i
   (   i   i	   (   i   i   (   i   i	   (   R2   R3   R6   RŠ   R'   R&   (   R(   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_topk_with_non_callable_key  s    --c          C` sR   t  j d
 d d g d d ƒ}  t |  j d d d	 „  ƒƒ d d g k sN t ‚ d  S(   Ni   i
   i   i	   i   i   R(   Rr   c         S` s   | S(   N(    (   R/   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   "  RR   (   i   i
   (   i   i	   (   i   i   (   i   i
   (   i   i	   (   R2   R3   R6   RŠ   R'   (   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_topk_with_multiarg_lambda   s    c           C` s7   t  t j d „  ƒ ƒ t  t j t ƒ ƒ k s3 t ‚ d  S(   Nc         S` s   |  d S(   Ni   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   &  RR   (   R6   R%   R   R    R'   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_lambdas%  s    c           C` s   t  t j ƒ  ƒ d k s t ‚ t  t j ƒ  ƒ d k s< t ‚ t  t j ƒ  ƒ d k sZ t ‚ t  t j ƒ  ƒ d k sx t ‚ t j ƒ  j ƒ  t	 k s– t ‚ t j
 ƒ  j ƒ  t k s´ t ‚ t j
 ƒ  j t j
 ƒ  j k sØ t ‚ t j
 ƒ  j t j ƒ  j k sü t ‚ d  S(   Ni   i   i   i    (   t   intR%   R}   R'   R8   RI   t   mint   anyR5   Rˆ   t   allt   FalseRr   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_reductions)  s    $c           C` s›   t  j ƒ  j j d ƒ s t ‚ t  j t t ƒ j j d ƒ sB t ‚ t d „  t  j t t ƒ j Dƒ ƒ sm t ‚ t  j t t d d ƒj j d ƒ s— t ‚ d  S(   NR8   c         s` s-   |  ]# } t  | t ƒ o$ | j d  ƒ Vq d S(   RI   N(   Rz   RY   t
   startswith(   RM   t   k(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pys	   <genexpr>7  s   R&   t   foo(	   R%   R8   R&   R•   R'   t	   reductionR‘   RI   R9   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_reduction_names4  s
    $	"c          C` sy  t  j t d ƒ ƒ }  |  j t t d d ƒ} |  j t t d d ƒ} |  j t t d d ƒ} | j ƒ  | j ƒ  k o† | j ƒ  k n s‘ t ‚ t | j ƒ t | j ƒ k sµ t ‚ |  j d d ƒ } |  j d d ƒ } | j ƒ  | j ƒ  k s÷ t ‚ t | j ƒ t | j ƒ k st ‚ | j	 | j	 k s3t ‚ | j	 |  j d d ƒ j	 k sWt ‚ | j	 |  j ƒ  j	 k sut ‚ d  S(   Ni   R‚   i   i   i   (
   R2   R3   R4   R˜   R8   R5   R'   t   lenR9   Rr   (   R%   R0   R\   Ru   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_tree_reductions<  s    4$$$i   c         C` s€   t  t d ƒ ƒ } t j d d |  ƒ} t | j ƒ  t | ƒ t | ƒ ƒ t | j ƒ  t | ƒ ƒ t | j ƒ  t | ƒ ƒ d  S(   Ni   R(   (   R6   R4   R2   R   t   meanR8   Rš   R}   (   R(   RV   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_aggregationQ  s
    #i
   c         C` sr   t  j d ƒ } t t d ƒ ƒ } t j | d |  ƒ} t | j ƒ  | j | ƒ ƒ t | j ƒ  | j | ƒ ƒ d  S(   Nt   numpyid   R(   (	   R;   t   importorskipR6   R4   R2   R3   R   Rœ   t   std(   R(   t   npRJ   R0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_non_splittable_reductionsZ  s
    c           C` sG   t  t j ƒ  t j d ƒ ƒ t t j ƒ  ƒ t j d ƒ k sC t ‚ d  S(   Ng       @(   R   R%   R    t   matht   sqrtt   floatR'   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_stdd  s    c           C` s5   t  t j ƒ  d ƒ t t j ƒ  ƒ d k s1 t ‚ d  S(   Ng       @(   R   R%   t   varR¥   R'   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_vari  s    t	   transformc         C` s   t  j |  d d ƒS(   NR(   i   (   R2   R3   (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   q  RR   c      	   C` sÏ   |  d d d g ƒ } t  j | d t d t ƒ} t | t t t d d d g t t t  ƒ ƒ ƒ ƒ t t  j | t ƒ t t t d d d g t t t  ƒ ƒ ƒ ƒ | j t  j | d t d t ƒj k sË t ‚ d  S(   Ni   i   i   t   on_selft   on_other(   R%   R   R$   R#   R   R6   R&   R'   (   R©   t   otherR0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt	   test_joinn  s    1+c          C` s  t  j t t d t d ƒ }  t t t t  j d f d f t |  j j ƒ  ƒ k sT t	 ‚ t
 |  ƒ t
 t t d „  t d ƒ j ƒ  ƒ k sŠ t	 ‚ |  j t  j t t d t d ƒ j k s· t	 ‚ t  j t d „  ƒ }  t
 |  ƒ t
 t t d „  t d ƒ j ƒ  ƒ k st	 ‚ d  S(   Ni    c         S` s   |  | S(   N(    (   Rl   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ     RR   c         S` s   |  | S(   N(    (   Rl   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ‚  RR   c         S` s   |  | S(   N(    (   Rl   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ƒ  RR   (   R%   t   foldbyR#   R!   R   R&   R6   R9   t   valuesR'   R[   RV   t   items(   R0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_foldby|  s    96-c       
   C` sJ  t  ƒ  }  xö d d d g D]å } t j t d ƒ d | ƒ} | j t t ƒ } |  | g 7}  x¢ t d  d d g D]Ž } | j t t d | ƒ} | j t t d	 d | ƒ} | j t t d	 t d | ƒ} | j t t d	 t d	 d | ƒ} |  | | | | g 7}  ql Wq Wt	 j
 |  ƒ }	 |	 d	 }
 t g  |	 D] } | |
 k ^ q%ƒ sFt ‚ d  S(
   Ni   i   i    id   R(   i   i   R‚   i    (   R6   R2   R3   R4   R®   R#   R!   R“   Rc   R9   R5   R’   R'   (   R,   t   nR%   R0   t   mR\   Ru   RT   t   gt   resultst   firstt   r(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_foldby_tree_reduction†  s    	!
c           C` s…   t  t j t ƒ ƒ d d d g k s* t ‚ t j t ƒ j t j t ƒ j k sT t ‚ t j d „  ƒ j t j t ƒ j k s t ‚ d  S(   Ni   c         S` s   t  |  ƒ d S(   Ni   (   Rš   (   R/   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   š  RR   (   R6   R%   t   map_partitionsRš   R'   R&   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_map_partitions—  s    **c          C` s	  g  t  d ƒ D] }  t j d d ƒ ^ q } g  t  d ƒ D] }  t j d d ƒ ^ q8 } t j | d d ƒ} t j | d d ƒ} d d „ } | | d d ƒ} t t j | | d d ƒ| ƒ t | j | d d ƒ| ƒ t | j | d ƒ | ƒ | | | ƒ } t t j | | | ƒ | ƒ t | j | d | ƒ| ƒ t | j | | ƒ | ƒ | j ƒ  j t	 ƒ } | | t	 t
 | ƒ t | ƒ ƒ ƒ } t | j | d | ƒ| ƒ t | j | | ƒ | ƒ t j | ƒ } t | j | d | ƒ| ƒ t | j | | ƒ | ƒ d  S(   Nid   iœÿÿÿR(   i
   i    c         S` sP   t  | t ƒ r t | ƒ n | } g  t |  | ƒ D] \ } } t | | ƒ ^ q1 S(   N(   Rz   R   R   R7   RI   (   R"   t   yR/   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   maximum¤  s    !R»   (   R4   t   randomt   randintR2   R3   R   R¹   Rœ   t   applyR   R8   Rš   R9   R:   (   R@   R"   R»   t   dxt   dyR¼   RB   t   dy_mean(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_map_partitions_args_kwargs  s(    ++%c          C` sY   t  j t d ƒ d d ƒ}  d t t |  j d d ƒ ƒ ƒ k  oJ d k  n sU t ‚ d S(	   sH   
    Number of randomly sampled elements are in the expected range.
    iè  R(   i   i
   gš™™™™™¹?i*   i,  N(   R2   R3   R4   Rš   R6   t   random_sampleR'   (   R/   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_random_sample_size¼  s    c          C` se   t  j t d ƒ d d ƒ}  t j t ƒ  |  j d ƒ Wd QXt j t ƒ  |  j d ƒ Wd QXd S(   sN   
    Specifying probabilities outside the range [0, 1] raises ValueError.
    i2   R(   i   iÿÿÿÿNgš™™™™™ñ?(   R2   R3   R4   R;   R<   R=   RÄ   (   R/   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_random_sample_prob_rangeÆ  s
    c          C` sL   t  j t d ƒ d d ƒ}  |  j d ƒ } t | ƒ t | ƒ k sH t ‚ d S(   sf   
    Repeated computation of a defined random sampling operation
    generates identical results.
    i2   R(   i   gš™™™™™É?N(   R2   R3   R4   RÄ   R6   R'   (   R/   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt'   test_random_sample_repeated_computationÑ  s    c          C` sy   t  j t d ƒ d d ƒ}  t |  j d ƒ ƒ t |  j d ƒ ƒ k sK t ‚ |  j d ƒ j |  j d ƒ j k su t ‚ d S(   s‡   
    Repeatedly defining a random sampling operation yields different results
    upon computation if no random seed is specified.
    i2   R(   i   g      à?N(   R2   R3   R4   R6   RÄ   R'   R&   (   R/   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt(   test_random_sample_different_definitionsÛ  s    0c          C` sa   t  j t d ƒ d d ƒ}  |  j d d ƒ } |  j d d ƒ } t | ƒ t | ƒ k s] t ‚ d S(   sF   
    Sampling with fixed random seed generates identical results.
    i2   R(   i   g      à?iÒ  N(   R2   R3   R4   RÄ   R6   R'   (   R/   R%   R0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_random_sample_random_stateå  s    c          C` sè   t  t t t d d d g f f f }  t |  ƒ t  t t d d d g f f k sT t ‚ t t t d d d g f f }  t |  ƒ |  k sŠ t ‚ t t t t t t d f f f f } t t t t t d f f f } t | ƒ | k sä t ‚ d  S(   Ni   i   i   R»   (   R8   R   R   R    R   R'   R   R#   (   t   taskR/   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_lazify_taskï  s    $0$c         C` s   |  S(   N(    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   û  RR   c          C` s    i t  t t t  t t d f f f f d 6t d f d 6t d f d 6}  i t  t t t t d f f f d 6t d f d 6t d f d 6} t |  ƒ | k sœ t ‚ d  S(   NR»   R"   R/   R%   (   R   R   R    R   R#   RT   R   R'   (   R/   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_lazifyþ  s
    ("c          C` so  i t  d f d 6t d d f d 6}  i t t  d f d f d 6} t |  d g ƒ | k s] t ‚ i t d d f d 6} t |  d g d t ƒ| k s— t ‚ t |  d d g ƒ |  k s¸ t ‚ t |  d d g d t ƒ|  k sß t ‚ i t  d f d 6t d d f d 6t d d f d 6}  t |  d d g ƒ |  k s3t ‚ i d
 d 6t d f d 6}  t |  d g ƒ |  k skt ‚ d  S(   NR/   R%   i   R0   t   rename_fused_keysi   R\   i   i   (   i   i   (   R6   RT   R   R'   R   R“   (   t   inpt   out(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_inline_singleton_lists  s    $!'!
c           C` sj   t  t j d ƒ ƒ d d g k s' t ‚ t j d ƒ d k sB t ‚ t t j d d t ƒt ƒ sf t ‚ d  S(   Ni   i    i   R5   (   i    i   (   R6   R%   t   takeR'   Rz   R“   R   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt	   test_take  s    'c           C` s¨   t  t j d d d ƒƒ d d d d d d g k s9 t ‚ t j d d d ƒd
 k sZ t ‚ t j d d d ƒd k s{ t ‚ t j t ƒ  t j d d d	 ƒWd  QXd  S(   Ni   R(   i   i    i   i   i   iÿÿÿÿi   (   i    i   i   i   i   i    (   i    i   i   (   R6   R%   RÑ   R'   R;   R<   R=   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_take_npartitions$  s
    9!!c          C` sì   t  j j d d ƒ Ñ t j t ƒ  t j d ƒ Wd  QXt j t ƒ  t j d ƒ Wd  QXt j d  ƒ  }  t j d d d ƒWd  QXt	 |  ƒ d k sŸ t
 ‚ t j d  ƒ  }  t j d d t ƒWd  QXt	 |  ƒ d k sâ t
 ‚ Wd  QXd  S(	   NRo   Rp   id   i   R(   i   i    t   warn(   R9   t   configR[   R;   t   warnst   UserWarningR%   RÑ   Rc   Rš   R'   R“   (   t   rec(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_take_npartitions_warn,  s    c          C` s>   d d l  m }  t |  d „  d d d g ƒ t ƒ s: t ‚ d  S(   Ni    (   R   c         S` s   |  S(   N(    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   A  RR   i   i   i   (   t   dask.bag.coreR   Rz   R   R'   (   R   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_map_is_lazy?  s    c           C` s%   t  t t j ƒ  ƒ t ƒ s! t ‚ d  S(   N(   Rz   RN   R%   R„   R'   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt"   test_can_use_dict_to_make_concreteD  s    t   reasont   Hangsc          C` sm   t  j d d g ƒ }  |  j d k s* t ‚ t  j d ƒ } | j d k sN t ‚ d | j d ƒ k si t ‚ d  S(   Ns   http://google.coms   http://github.comi   s<   http://raw.githubusercontent.com/dask/dask/master/README.rsti   s   Dask
i
   (   R2   t   from_urlR(   R'   RÑ   (   R/   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_from_urlH  s
    c          C` sœ   t  i d d 6d d 6ƒ i }  t d „  t j |  ƒ Dƒ ƒ t d ƒ k sN t ‚ t d „  t j d ƒ Dƒ ƒ t d ƒ k s t ‚ Wd  QXt j t d	 „  ƒ d  S(
   Ns   A
Bs   a1.logs   C
Ds   a2.logc         s` s   |  ] } | j  ƒ  Vq d  S(   N(   t   strip(   RM   t   line(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pys	   <genexpr>V  s    t   ABCDc         s` s   |  ] } | j  ƒ  Vq d  S(   N(   Rá   (   RM   Râ   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pys	   <genexpr>X  s    s   a*.logc           S` s   t  j d ƒ S(   Ns   non-existent-*-path(   R2   t	   read_text(    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   [  RR   (   R   R[   R2   Rä   R'   R;   R<   R=   (   t   fns(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_read_textT  s    c          C` s  t  ƒ  ô }  t |  d ƒ % } | j d t j j ƒ  d ƒ Wd  QXt j |  d d ƒ} t j |  ƒ } t | j	 ƒ d k s t
 ‚ t t t | j j ƒ  ƒ ƒ t t t | j j ƒ  ƒ ƒ k sÃ t
 ‚ t j |  g d d ƒ} t | ƒ t | ƒ k sù t
 ‚ Wd  QXd  S(   Nt   wbs   Hello, world!id   t	   blocksizei   (   R   t   opent   writet   ost   linesept   encodeR2   Rä   Rš   R9   R'   R6   R   RY   Rá   (   t   fnRT   R%   R0   R\   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_read_text_large^  s    $Bc          C` s  t  ƒ  }  t |  d ƒ ( } | j d t j j d ƒ d ƒ Wd  QXt j |  d d d d ƒ} t j |  d d ƒ} t | j	 ƒ d k s t
 ‚ t | j j ƒ  j d „  ƒ ƒ t | j j ƒ  j d	 „  ƒ ƒ k sØ t
 ‚ t j |  g d d d d ƒ} t | ƒ t | ƒ k st
 ‚ Wd  QXd  S(
   NRç   u	   ä½ å¥½ï¼t   gb18030id   Rè   t   encodingi   c         S` s   |  j  d ƒ S(   Ns   utf-8(   Rí   (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   r  RR   c         S` s   |  j  d ƒ S(   Ns   utf-8(   Rí   (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   s  RR   (   R   Ré   Rê   Rë   Rì   Rí   R2   Rä   Rš   R9   R'   R6   RY   Rá   R   (   Rî   RT   R%   R0   R\   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_read_text_encodingk  s    '*c          C` s–   t  d ƒ „ }  t |  d ƒ } | j d d ƒ | j ƒ  t j t ƒ  t j |  d d d d ƒWd  QXt j |  ƒ } | j	 d	 k sŒ t
 ‚ Wd  QXd  S(
   Nt   gzRç   s   Hello, world!
id   Rè   i2   t   linedelimiters   
i   (   R   R   Rê   t   closeR;   R<   R=   R2   Rä   R(   R'   (   Rî   RT   R0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_read_text_large_gzipy  s    
c          C` sŒ   t  j d ƒ d }  t j d d t d	 t ƒ ƒ} | j d
 ƒ |  k sL t ‚ t j d d d g d t d	 t ƒ ƒ} | j d k sˆ t ‚ d  S(   Nt   s3fsu(   total_bill,tip,sex,smoker,day,time,size
u"   16.99,1.01,Female,No,Sun,Dinner,2
u    10.34,1.66,Male,No,Sun,Dinner,3
u   21.01,3.5,Male,No,Sun,Dinner,3
u    23.68,3.31,Male,No,Sun,Dinner,2
s   s3://tip-data/t*.gzt   storage_optionst   anoni   s   s3://tip-data/tips.gzs   s3://tip-data/tips.jsons   s3://tip-data/tips.csvi   (   u(   total_bill,tip,sex,smoker,day,time,size
u"   16.99,1.01,Female,No,Sun,Dinner,2
u    10.34,1.66,Male,No,Sun,Dinner,3
u   21.01,3.5,Male,No,Sun,Dinner,3
u    23.68,3.31,Male,No,Sun,Dinner,2
(	   R;   RŸ   R2   Rä   RN   Rˆ   RÑ   R'   R(   (   t	   five_tipsRu   R0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_from_s3†  s        	c          C` sp   t  j d d d d d g d d ƒ}  t |  j ƒ d k s? t ‚ t |  ƒ t d d d d d g ƒ k sl t ‚ d  S(   Ni   i   i   i   i   R(   (   R2   R3   Rš   R9   R'   R[   (   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_from_sequencež  s    $c          C` sC   t  t d ƒ ƒ }  t j |  ƒ } t | ƒ t |  ƒ k s? t ‚ d  S(   Nié  (   R6   R4   R2   R3   R[   R'   (   RV   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_from_long_sequence¤  s    c          C` s\   t  j g  ƒ }  |  j d k s$ t ‚ |  j d i d d 6ƒ j ƒ  } | j sX t d ƒ ‚ d  S(   Ni   t   metaR   R/   s   DataFrame is not empty(   R2   R3   R(   R'   t   to_dataframeR5   t   empty(   R%   t   df(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_from_empty_sequenceª  s    c          C` sG  t  j t  ƒ }  |  j t  j d k s+ t ‚ t |  ƒ t g  t D] } t D] } | | f ^ qH q> ƒ k so t ‚ t j d d d d g ƒ } t j d d d g ƒ } | j | ƒ } t | ƒ t g  d d d d g D]( } d d d g D] } | | f ^ qã qÐ ƒ k s
t ‚ | j |  j k s"t ‚ | j | j | ƒ j k sCt ‚ d  S(   Ni   i   i   i   i
   i   i   (	   R%   t   productR(   R'   R[   RV   R2   R3   R&   (   R>   R@   RA   R"   R»   t   z(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_product±  s    DYc       
   C` sø   t  j ƒ  æ }  t t t d ƒ d |  ƒ t |  j d ƒ ƒ t d d g ƒ k sU t ‚ t |  j d ƒ ƒ t d d g ƒ k s‚ t ‚ t |  j d ƒ ƒ t d d g ƒ k s¯ t ‚ t t	 t d |  d ƒ ƒ d d g f d d g f g k sî t ‚ Wd  QXd  S(	   Ni   i   i    i   i   i   i   RR   (
   t   partdt   PickleR   R   R4   R[   t   getR'   R+   R   (   t   p(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_partition_collect¿  s    ---c          C` sÞ   t  j t ƒ }  t |  ƒ } | i d d d g d 6d d d g d 6d d d g d 6d d d g d 6d d d g d 6k s} t ‚ |  j t  j k s• t ‚ |  j t  j t ƒ j k s¶ t ‚ |  j t  j d „  ƒ j k sÚ t ‚ d  S(   Ni    i   i   i   i   c         S` s   |  d S(   Ni   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   Ó  RR   (   R%   R	   R   RN   R'   R(   R&   (   R0   t   result(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_groupbyÉ  s    !c          C` s™   t  j d d d g d d d g d d d g g ƒ }  t |  j d ƒ ƒ } t t | ƒ i d d d g d d d g g d 6d d d g g d 6k s• t ‚ d  S(   Ni   i   i   i   i	   i    (   R2   R3   RN   R	   R   R+   R'   (   R%   R  (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_groupby_with_indexerÖ  s    3.c          C` sŸ   t  j d „  d d ƒ}  t |  ƒ } | i d d d g d 6d d d g d 6d d d g d 6d d d g d 6d d d g d 6k s† t ‚ |  j d k s› t ‚ d  S(   Nc         S` s   |  S(   N(    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   Þ  RR   R(   i   i    i   i   i   (   R%   R	   RN   R'   R(   (   R  t   result2(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt%   test_groupby_with_npartitions_changedÝ  s    c          C` sš   t  j d d d g ƒ }  t  j d d d g ƒ } t  j |  | g ƒ } t | ƒ d d d d d d g k so t ‚ | j t  j |  | g ƒ j k s– t ‚ d  S(   Ni   i   i   i   i   i   (   R2   R3   t   concatR6   R'   R&   (   R/   R%   R0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_concaté  s
    *c          C` sm   t  j d g d d g g ƒ }  t |  j ƒ  ƒ d d d g k sE t ‚ |  j ƒ  j |  j ƒ  j k si t ‚ d  S(   Ni   i   i   (   R2   R3   R6   t   flattenR'   R&   (   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_flattenñ  s    'c          C` sp   t  j d d g ƒ }  t  j d d g ƒ } t  j |  j t ƒ | g ƒ } t | ƒ d d d d g k sl t ‚ d  S(   Ni   i   i   i   i   (   R2   R3   R  R   R    R6   R'   (   R/   R%   R  (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_concat_after_map÷  s    c          C` s[   t  j d „  ƒ }  t |  j Œ  } t |  ƒ t | ƒ k s? t ‚ |  j | j k sW t ‚ d  S(   Nc         S` s   |  d S(   Ni   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ÿ  RR   (   R%   R   R   t   _argsR6   R'   R(   (   R0   R\   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt	   test_argsþ  s    c    
   	   C` s;  t  j d ƒ }  t  j d ƒ } d „  } i d g d 6g  d 6d d g d 6} t | d d ƒ } | j | j ƒ  d d d g ƒ} | j ƒ  } |  j j | | j d i d d 6d d 6ƒ d t	 ƒ| j d d d g ƒ } |  j j | | d t	 ƒ| | | ƒ | j d d d g ƒ } |  j j | | d t	 ƒ| | | ƒ | j
 d „  ƒ } | j ƒ  } |  j j | | d t	 ƒ| | | ƒ | j | j ƒ  j k s›t ‚ xR | d d  g g D]> } | j d | ƒ } |  j j | | d t	 ƒ| | | ƒ q®Wt  j t ƒ ! | j d d d g d | ƒ Wd  QX| j d „  ƒ } t  j t ƒ  | j ƒ  Wd  QX| j d ƒ } | d g } | j d | ƒ } |  j j | | d t	 ƒ| | | ƒ | j i t d
 ƒ d 6ƒ } t j t d
 ƒ d d ƒ} xU t t g D]G }	 | j |	 ƒ j d | ƒ } |  j j | | d t	 ƒ| | | ƒ qìWd  S(!   Ns   dask.dataframet   pandasc         ` s5   t  ‡  f d †  t j |  j ƒ  Œ  Dƒ ƒ s1 t ‚ d  S(   Nc         3` s'   |  ] } | j  ˆ  j  k j ƒ  Vq d  S(   N(   t   dtypesR’   (   RM   R	  (   RB   (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pys	   <genexpr>  s    (   R’   R9   R5   t
   to_delayedR'   (   R  RB   (    (   RB   s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   check_parts
  s    i   i   t   testi    i
   i   id   iÈ   i   t   columnsR/   R%   t   check_indexRþ   t   i8c         S` s   t  t d d g |  ƒ ƒ S(   NR/   R%   (   RN   R7   (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ      RR   c         S` s   |  d d k S(   NR/   iÈ   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   1  RR   R(   i   (   i   i   (   R  i    (   R  i   (   i
   i   (   id   iÈ   (   R  i   (   R/   R  (   R%   R  (   R/   R  (   R%   R  (   R;   RŸ   R   t	   DataFrameR5   Rÿ   t   utilsR   t   renameR“   R   t   _nameR'   R<   R=   R   R
   R4   R2   R3   t   itert   tupleR¹   (
   t   ddt   pdR  R,   R%   RB   R  Rþ   R>   RT   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_to_dataframe  sT    	!,"Ró   RR   t   bz2s
   ext,myopenc      	   C` s  t  j d d d g d d ƒ} t ƒ  Õ } | j t j j | d |  ƒ d t ƒ} t j	 d d	 | Œ t j j
 t j j | d
 |  ƒ ƒ s t ‚ | t j j | d
 |  ƒ d ƒ } | j ƒ  } t | d ƒ rÜ | j ƒ  } n  d | k sî t ‚ | j ƒ  Wd  QXd  S(   Nt   abct   123t   xyzR(   i   s   *.R5   Ro   Rp   s   1.t   rbt   decode(   R2   R3   R   t   to_textfilesRë   t   pathR   R“   R9   R5   t   existsR'   t   readt   hasattrR-  Rõ   (   t   extt   myopenR%   t   dirR0   RT   t   text(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_to_textfilesJ  s    (+"c          C` s¿   d d d d d d d d d	 d
 d d d d d d g }  t  j |  d d ƒ} t ƒ  e } | j | ƒ t  j t j j | d ƒ d d ƒj t	 ƒ j t	 j
 ƒ j ƒ  } |  | k sµ t ‚ Wd  QXd  S(   NR/   R%   R0   R\   Ru   RT   R´   t   hR@   RA   R–   t   lR³   R²   t   oR	  R(   i   t   *Rñ   t   ascii(   R2   R3   R   R.  Rä   Rë   R/  R   R   RY   Rá   R5   R'   (   R€   R%   t   dnRÏ   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt/   test_to_textfiles_name_function_preserves_orderZ  s    6?c          C` sŠ   d d d d d d d d d	 d
 d d d d d d g }  t  j |  d d ƒ} t ƒ  0 } t j d  ƒ  | j | d t ƒWd  QXWd  QXd  S(   NR/   R%   R0   R\   Ru   RT   R´   R8  R@   RA   R–   R9  R³   R²   R:  R	  R(   i   t   name_function(   R2   R3   R   R;   RÖ   Rc   R.  RY   (   R€   R/   R=  (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt$   test_to_textfiles_name_function_warnd  s
    6c          C` sO  t  j d d d g d d ƒ}  x*d t f d t f d t f g D]\ } } | d k rd t rd q@ n  t ƒ  Ø } |  j t j	 j
 | d	 | ƒ d
 d d t ƒ} t j | Œ  t j	 j t j	 j
 | d | ƒ ƒ sÖ t ‚ | t j	 j
 | d | ƒ d ƒ } | j ƒ  } t | d ƒ r%| j d ƒ } n  d | k s7t ‚ | j ƒ  Wd  QXq@ Wd  S(   Nu   æ±½è½¦u   è‹¹æžœu   å¤©æ°”R(   i   Ró   R(  RR   s   *.Rñ   Rð   R5   s   1.R,  R-  (   R2   R3   R   R   Ré   R   R   R.  Rë   R/  R   R“   R9   R5   R0  R'   R1  R2  R-  Rõ   (   R%   R3  R4  R5  R0   RT   R6  (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_to_textfiles_encodingl  s    ..+"c          C` s
  t  j d d d g d d ƒ}  t ƒ  \ } t ƒ  J } |  j | | g ƒ t j j | ƒ sa t ‚ t j j | ƒ sy t ‚ Wd  QXWd  QXt ƒ  S } |  j | ƒ t j j | ƒ s¶ t ‚ t j j t j j	 | d ƒ ƒ sÝ t ‚ Wd  QXt
 j t ƒ  |  j d ƒ Wd  QXd  S(   NR)  R*  R+  R(   i   s   0.parti   (   R2   R3   R   R.  Rë   R/  R0  R'   R   R   R;   R<   t	   TypeError(   t   BR/   R%   t   dirname(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_to_textfiles_inputs~  s    $-c       
   C` s¬   t  j d d d g d d ƒ}  t ƒ   } xu t t f D]g } |  j | g d | ƒt | d ƒ  } | j ƒ  } Wd  QX| d d	 | rŒ d
 n d g k s7 t ‚ q7 WWd  QXd  S(   NR/   R%   R0   R(   i   t   last_endlineR·   s   a
s   b
s   c
(	   R2   R3   R   R“   Rˆ   R.  Ré   t	   readlinesR'   (   R%   Rî   RF  RT   R  (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_to_textfiles_endlines  s    c           ` sd  t  j d d d g d d ƒ‰  d t ˆ  j ƒ k s9 t ‚ d t ˆ  j ƒ k sT t ‚ t ˆ  j j ƒ  ƒ d d	 d
 g k s~ t ‚ t ˆ  j j d ƒ ƒ d d g d d g d d g g k s½ t ‚ t ˆ  j j d ƒ ƒ d d g k sç t ‚ t	 j
 t ‡  f d †  ƒ ˆ  j j d ƒ j ˆ  j j d ƒ j k s0t ‚ ˆ  j j d ƒ j ˆ  j j d ƒ j k s`t ‚ d  S(   Ns   Alice Smiths	   Bob Joness   Charlie SmithR(   i   t   splitt   matchs   alice smiths	   bob joness   charlie smitht    t   Alicet   Smitht   Bobt   Jonest   Charlies   *Smithc           ` s
   ˆ  j  j S(   N(   RY   t	   sfohsofhf(    (   R%   (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ¦  RR   s   *John(   R2   R3   R5  RY   R'   R6   t   lowerRI  RJ  R;   R<   t   AttributeErrorR&   (    (    (   R%   s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_string_namespace™  s    	*	*0c          C` sL   t  j d d d g d d ƒ}  t |  j j ƒ  ƒ d d d g k sH t ‚ d  S(	   Nu   Alice Smithu	   Bob Joness   Charlie SmithR(   i   s   alice smiths	   bob joness   charlie smith(   R2   R3   R6   RY   RR  R'   (   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt"   test_string_namespace_with_unicode«  s    	c          C` s^   t  j d d d g d d ƒ}  t |  j j ƒ  ƒ d d g d d	 g d
 d g g k sZ t ‚ d  S(   Nu   Alice Smithu	   Bob Joness   Charlie SmithR(   i   RL  RM  RN  RO  RP  (   R2   R3   R6   RY   RI  R'   (   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_str_empty_split±  s
    		c          C` sy   t  j d d d g d d d g g d d ƒ}  d „  } |  j | ƒ } t | ƒ d d d g d d d	 g g k su t ‚ d  S(
   Ni   i   i   i   i   i   R(   c         s` s   x |  D] } | d Vq Wd  S(   Ni   (    (   RV   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRT   ¼  s    i   (   R2   R3   R   R6   R'   (   R%   RT   R0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_map_with_iterator_function¹  s    -	c          C` sJ   t  j d d d g ƒ }  |  j d „  ƒ j ƒ  } t | t ƒ sF t ‚ d  S(   Ni   i   i   c         S` s   |  d S(   Ni   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   Ç  RR   (   R2   R3   R   R5   Rz   R   R'   (   R%   R  (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt&   test_ensure_compute_output_is_concreteÅ  s    t
   BagOfDictsc           B` s   e  Z d d  „ Z d „  Z RS(   c         ` s   |  j  ‡  ‡ f d †  ƒ S(   Nc         ` s   |  j  ˆ ˆ  ƒ S(   N(   R  (   R\   (   t   defaultRr   (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   Í  RR   (   R   (   t   selfRr   RZ  (    (   RZ  Rr   s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyR  Ì  s    c         ` s   ‡  ‡ f d †  } |  j  | ƒ S(   Nc         ` s   ˆ |  ˆ  <|  S(   N(    (   R\   (   Rr   t   value(    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   setterÐ  s    
(   R   (   R[  Rr   R\  R]  (    (   Rr   R\  s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyR[   Ï  s    N(   t   __name__t
   __module__Rc   R  R[   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRY  Ë  s   c          C` sÁ   t  t j i i d d 6d 6g ƒ j Œ  }  |  j d ƒ j d ƒ j ƒ  d d k sW t ‚ |  j d ƒ j d d ƒ j ƒ  d i d d 6d d 6k s– t ‚ t |  j d ƒ j d ƒ t  ƒ s½ t ‚ d  S(   NR0   R%   R/   i    R\   s   EXTENSIBILITY!!!(	   RY  R2   R3   R  R  R5   R'   R[   Rz   (   t   dictbag(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_bag_class_extendÖ  s
    )."c       
   C` s~   d j  d ƒ }  t ƒ  ` } t | d ƒ  } | j |  ƒ Wd  QXt j | ƒ } | j ƒ  d |  j d ƒ k st t ‚ Wd  QXd  S(   Nu   â‚¬s   utf-8Rç   i    (	   Rí   R   Ré   Rê   R2   Rä   R5   R-  R'   (   t   bin_dataRî   RT   R/   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt
   test_gh715Þ  s    c          C` s8   t  j d d d g ƒ j d „  ƒ }  |  j d d ƒ d  S(   Ni   i   i   c         S` s   |  d S(   Ni   (    (   R/   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   è  RR   t   bogus_keywordi
   (   R2   R3   R   R5   (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_bag_compute_forward_kwargsç  s    $c          C` sò   t  j d d d d d d g d d ƒ}  |  j t ƒ j ƒ  \ } }  } t d „  | |  | g Dƒ ƒ sj t ‚ |  j ƒ  d d g k sˆ t ‚ t  j d d d d d d g d d ƒ}  |  j ƒ  j ƒ  } t	 | t
 ƒ sÖ t ‚ | j ƒ  d	 k sî t ‚ d  S(
   Ni   i   i   i   i   i   R(   c         s` s   |  ] } t  | t ƒ Vq d  S(   N(   Rz   R   (   RM   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pys	   <genexpr>ï  s    i   (   R2   R3   R   R    R  R’   R'   R5   R8   Rz   R   (   R%   R/   R0   t   t(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_to_delayedì  s    '%'c          C` sÆ  t  j d d d d d d g d d ƒ}  |  j t ƒ j t ƒ j t ƒ } | j ƒ  \ } t t | j ƒ ƒ } | j d ƒ d k s‡ t	 ‚ | j d	 t
 ƒ \ } t | j ƒ t | j ƒ k sÀ t	 ‚ | j ƒ  | j ƒ  k sÞ t	 ‚ | j ƒ  } | j ƒ  } t t | j ƒ ƒ } | j d ƒ d
 k s&t	 ‚ | j d	 t
 ƒ } t | j ƒ t | j ƒ k s\t	 ‚ | j ƒ  | j ƒ  k szt	 ‚ | j d d t
 ƒ\ } t t | j ƒ ƒ } | j d ƒ d
 k sÂt	 ‚ d  S(   Ni   i   i   i   i   i   R(   R   t   optimize_graphi    s   foo.txtR5   (   R2   R3   R   R    R  RY   RN   R9   R}   R'   R“   R5   R8   R.  (   R%   R>   R\   R6  t   d2R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_to_delayed_optimize_graphø  s$    '!$$c       
   C` s.  d d l  m }  |  d d d g ƒ |  d d d g ƒ |  d	 d
 d g ƒ } } } t | | | g ƒ } | j t | | | g ƒ j k s t ‚ t | t ƒ s¢ t ‚ t | ƒ d d d d d d d	 d
 d g	 k sÕ t ‚ |  d „  ƒ | ƒ } t j	 j | ƒ } | j
 ƒ  | j
 ƒ  k od k n s*t ‚ d  S(   Ni    (   R:   i   i   i   i   i   i   i   i   i	   c         S` s
   t  |  ƒ S(   N(   R8   (   t   X(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ     RR   (   t   dask.delayedR:   R   R&   R'   Rz   R   R6   R2   t   ItemR5   (   R:   R/   R%   R0   t   bbt
   asum_valuet	   asum_item(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_from_delayed  s    A'3c          C` s®   d d l  m }  d „  } |  | d t ƒ} t j g  t d ƒ D] } | d ƒ ^ q> ƒ } t j | j ƒ  | j d ƒ j ƒ  | j d ƒ j	 ƒ  j ƒ  d d ƒd k sª t
 ‚ d  S(   Ni    (   R:   c         S` s   d „  t  |  ƒ Dƒ S(   Nc         s` s"   |  ] } i d  d g d 6Vq d S(   i   i   t
   operationsN(    (   RM   t   _(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pys	   <genexpr>"  s    (   R4   (   R²   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   lazy_records!  s    t   purei   Rr  Ro   Rp   i   i2   (   i   i   i2   (   Rl  R:   R“   R2   R   R4   R5   R}   R
   R  R'   (   R:   Rt  t   delayed_recordsRs  R~   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_from_delayed_iterator  s    	.	c          C` sŠ   xƒ d d d d g D]o }  t  j d d |  ƒ} t | j ƒ |  k sI t ‚ | j |  k s^ t ‚ t | ƒ t t d ƒ ƒ k s t ‚ q Wd  S(   Ni   i   i
   i   id   R(   (   R2   R4   Rš   R9   R'   R(   R6   (   R(   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt
   test_range.  s
    i   i   iè  c         C` s¬   t  j t d | d ƒ d |  ƒ} t  j t d | d ƒ d |  ƒ} t  j | | ƒ } | j |  k si t ‚ t | ƒ t t t d | d ƒ t d | d ƒ ƒ ƒ k s¨ t ‚ d  S(   Ni    i   R(   i   (   R2   R3   R4   R7   R(   R'   R6   (   R(   t   hit   evenst   oddst   pairs(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_zip6  s
    !!t   nini   i   t   nouti   c         C` s€   t  j t d ƒ d |  ƒ} | j d | ƒ } | j | k sB t ‚ t | | ƒ t j | j | j	 ƒ  ƒ } t
 | ƒ s| t ‚ d  S(   Nid   R(   (   R2   R3   R4   t   repartitionR(   R'   R   R9   R  R*   R’   (   R~  R  R%   R0   Rµ   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_repartition?  s    c          C` s¦   t  j t d ƒ d d ƒ}  |  j d ƒ } |  j | j k sB t ‚ |  j d ƒ } |  j | j k si t ‚ | j | j k s t ‚ |  j d ƒ } |  | k s¢ t ‚ d  S(   Nid   R(   i   i   i   (   R2   R3   R4   R€  R&   R'   (   R%   R0   R\   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_repartition_namesK  s    s!   not db.core._implement_accumulatec       	   C` s¦  d d d g d d g g  d d g g }  t  d „  t |  ƒ Dƒ ƒ } t j | d	 t |  ƒ ƒ } | j t ƒ } | j | j t ƒ j k sŽ t ‚ | j | j t d
 ƒ j k s² t ‚ | j	 ƒ  d d d d d d d g k sß t ‚ | j t d
 ƒ j	 ƒ  d
 d d d d d d d g k st ‚ | j t ƒ j
 t ƒ j	 ƒ  d d d d d d d g k sZt ‚ t j d d d g d d ƒ} | j t ƒ j	 ƒ  d d d g k s¢t ‚ d  S(   Ni   i   i   i   i   i   i   c         s` s'   |  ] \ } } d  | f | f Vq d S(   R  N(    (   RM   R@   R	  (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pys	   <genexpr>[  s    R  iÿÿÿÿi
   i   i   i   i    i	   i   i   i   i   i   i   i   R(   (   RN   t	   enumerateR2   R   Rš   t
   accumulateR!   R&   R'   R5   R   R    R3   (   t   partsR,   R%   R·   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_accumulateX  s    '!$-<?c          C` s5  t  j t d ƒ d d ƒ}  |  j d „  d d d d ƒ} t j | j | j ƒ  ƒ } x] | D]U } xL | D]D }  | |  k	 rh t t d | ƒ ƒ t t d |  ƒ ƒ @s¬ t	 ‚ qh qh Wq[ Wt  j t d	 ƒ d d
 ƒ}  |  j d „  d d ƒ} t
 | j ƒ d k  st	 ‚ t j | j | j ƒ  ƒ } x] | D]U } xL | D]D }  | |  k	 r1t t d | ƒ ƒ t t d |  ƒ ƒ @sut	 ‚ q1q1Wq$Wt  j t d ƒ d d ƒ}  |  j d „  d d d d ƒ} t j | j | j ƒ  ƒ } x] | D]U } xL | D]D }  | |  k	 råt t d | ƒ ƒ t t d |  ƒ ƒ @s)t	 ‚ qåqåWqØWd  S(   Ni    R(   i   c         S` s   |  d S(   Ni
   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   j  RR   t
   max_brancht   shufflet   tasksi    iè  id   c         S` s   |  d S(   Ni{   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   s  RR   i   i'  iY  c         S` s   |  d S(   Ni  (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   }  RR   i   i'  (   R2   R3   R4   R	   R9   R  R*   R[   R
   R'   Rš   (   R%   RÏ   t
   partitionsR/   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_groupby_tasksh  s,    ::c          C` s  t  j t d ƒ d d ƒ}  d „  } d „  } t |  j | d d d d ƒj ƒ t |  j | d d d d ƒj ƒ k s{ t ‚ t |  j | d d d d ƒj ƒ t |  j | d d	 d d ƒj ƒ k sÉ t ‚ t |  j | d d d d ƒj ƒ t |  j | d d d d ƒj ƒ k st ‚ d  S(
   Ni    R(   i   c         S` s   |  d S(   Ni
   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ˆ  RR   c         S` s   |  d S(   Ni   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ‰  RR   R‡  Rˆ  R‰  i   (   R2   R3   R4   R[   R	   R9   R'   (   R%   RX   t   func2(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_groupby_tasks_names†  s    		!-!-!s   size,npartitions,groupsi   id   i90  iê   i  i2   c         ` sp   ‡  f d †  } t  j |  d | ƒj | d d ƒ} | j d d ƒ } t | ƒ t | t |  ƒ ƒ k sl t ‚ d  S(   Nc         ` s   |  ˆ  S(   N(    (   R"   (   t   groups(    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   –  RR   R(   Rˆ  R‰  Ro   Rp   (   R2   R4   R	   R5   RN   R'   (   t   sizeR(   RŽ  RX   R%   R  (    (   RŽ  s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_groupby_tasks_2’  s    $c          C` sp   d „  }  t  j d d d ƒj |  d d d d ƒ} | j d	 d
 ƒ } t | ƒ t |  t d ƒ ƒ k sl t ‚ d  S(   Nc         S` s   |  d S(   Ni
   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ     RR   i   R(   i   Rˆ  R‰  R‡  i   Ro   Rp   (   R2   R4   R	   R5   RN   R'   (   RX   R%   R  (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_groupby_tasks_3œ  s    	*c          C` s}   t  ƒ  n }  t j d d d ƒj d „  ƒ j t ƒ } | j t j j	 |  d ƒ ƒ t
 t j |  ƒ ƒ d k ss t ‚ Wd  QXd  S(   Ni   R(   c         S` s
   |  d k S(   Ni   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ¦  RR   s   *.txt(   R   R2   R4   R   R   RY   R.  Rë   R/  R   Rš   t   listdirR'   (   R\   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt"   test_to_textfiles_empty_partitions¤  s    *c          C` s]   t  j t d ƒ d d ƒ}  t |  j d „  ƒ j ƒ  d ƒ t |  j d „  ƒ j ƒ  d ƒ d  S(   Ni
   R(   id   c         S` s   |  d d k S(   Ni   i    (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ­  RR   i   c         S` s   |  d d k S(   Ni   i    (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ®  RR   i    (   R2   R3   R4   R   R   RI   R   (   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_reduction_empty«  s    c      	   C` så   t  j d d d d g d |  ƒj d  ƒ } t | j d d ƒ d ƒ t  j | j d d ƒ | j d d ƒ d d ƒ} | d k s… t ‚ t	 j
 t ƒ K t  j d d d d g d |  ƒ} | j d  ƒ j d d ƒ j d d ƒ Wd  QXd  S(	   Ni    i   R(   R‚   i   Ro   Rp   (   i   i   (   R2   R3   R   Rc   R   R   R5   RI   R'   R;   R<   R=   (   R(   R%   t   vals(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_reduction_empty_aggregate±  s    *0!t
   StrictRealc           B` s   e  Z d  „  Z d „  Z RS(   c         C` s%   t  | t ƒ s t ‚ |  j | j k S(   N(   Rz   R—  R'   t   real(   R[  R¬   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   __eq__½  s    c         C` s%   t  | t ƒ s t ‚ |  j | j k S(   N(   Rz   R—  R'   R˜  (   R[  R¬   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   __ne__Á  s    (   R^  R_  R™  Rš  (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyR—  ¼  s   	c          C` sW   t  j g  t d ƒ D] }  t |  ƒ ^ q d d ƒ} t | j t t ƒ t d ƒ ƒ d  S(   Ni
   Rƒ   i   i	   (   R2   R3   R4   R—  R   Rq   RI   (   R"   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt*   test_reduction_with_non_comparable_objectsÆ  s    4c          ` s‰   t  j d ƒ ‰  t j g  t d ƒ D] }  ˆ  j d g ƒ ^ q" d d ƒ} ‡  f d †  } | j | | ƒ j d d ƒ j d
 k s… t	 ‚ d  S(   Ns   scipy.sparsei   i    Rƒ   i   c         ` s   ˆ  j  |  | g ƒ S(   N(   t   vstack(   R/   R%   (   t   sp(    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt	   sp_reduceÏ  s    Ro   Rp   i   (   i   i   (
   R;   RŸ   R2   R3   R4   t
   csr_matrixRq   R5   t   shapeR'   (   R"   R%   Rž  (    (   R  s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt#   test_reduction_with_sparse_matricesË  s    :c           C` s   t  t j g  ƒ ƒ g  k d  S(   N(   R6   R2   R3   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt
   test_emptyÕ  s    c          C` s›   d d l  m }  m } t j t d ƒ ƒ } |  | | ƒ ƒ } | j ƒ  | j ƒ  k s[ t ‚ | j ƒ  } |  | | ƒ ƒ } | j ƒ  | j ƒ  k s— t ‚ d  S(   Ni    (   t   loadst   dumpsid   (	   t   pickleR£  R¤  R2   R3   R4   R5   R'   R8   (   R£  R¤  R%   R>   t   st   s2(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_bag_picklableÙ  s    c          C` sa   t  j i d d 6g ƒ j d ƒ }  |  j d d ƒ } t | ƒ i i d d 6g d 6k s] t ‚ d  S(   Ni   R/   Ro   Rp   (   R2   R3   R	   R5   RN   R'   (   R%   R  (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_msgpack_unicodeå  s    "c          C` s/   d „  }  t  j |  g ƒ } t | |  g ƒ d  S(   Nc           S` s   d  S(   N(   Rc   (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ   ì  RR   (   R2   R3   R   (   RT   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_bag_with_single_callableë  s    	c          ` sÁ   t  j d d d ƒ}  |  j t ƒ } | j t ƒ } | j | j | j ƒ  ƒ ‰  t | j ƒ t ˆ  ƒ @sn t ‚ | j | j | j ƒ  d | j ƒ  ƒ‰  t	 ‡  f d †  | j ƒ  Dƒ ƒ s½ t ‚ d  S(   Ni
   R(   i   t	   fuse_keysc         3` s   |  ] } | ˆ  k Vq d  S(   N(    (   RM   R–   (   R,   (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pys	   <genexpr>û  s    (
   R2   R4   R   R    t   __dask_optimize__R9   R*   R[   R'   R’   (   R"   R»   R  (    (   R,   s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_optimize_fuse_keysñ  s     c          ` sr   d  g ‰  ‡  f d †  }  ‡  f d †  } t i |  ƒ  d 6d d ƒ } | j | t ƒ } t | t t d ƒ ƒ ƒ d  S(   Nc          3` s*   x# t  d ƒ D] }  |  ˆ  d <|  Vq Wd  S(   Ni
   i    (   R4   (   R@   (   t   current(    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   part  s    
c         ` s    ˆ  d d k s t  ‚ t |  ƒ S(   Ni    (   R'   R8   (   R¯  (   R®  (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRX     s    R—   i    i   i
   (   R—   i    (   Rc   R   R˜   R8   R   R4   (   R¯  RX   R%   t   res(    (   R®  s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_reductions_are_lazyþ  s    	c          C` s[   t  j d d d ƒ}  |  j d „  ƒ } t t t | ƒ ƒ t t t | ƒ ƒ k sW t ‚ d  S(   Ni
   R(   i   c         S` s   |  d S(   Ni   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ     RR   (   R2   R4   R	   R   Rš   RN   R'   (   R%   R0   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_repeated_groupby  s    c      	   C` s‚   t  j d d d ƒ} t j j d t |  ƒ ƒ L | j d „  ƒ } | j ƒ  t d „  t	 j
 t |  ƒ ƒ Dƒ ƒ sx t ‚ Wd  QXd  S(   Ni
   R(   i   t   temporary_directoryc         S` s   |  d S(   Ni   (    (   R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyRQ     RR   c         s` s   |  ] } | j  d  ƒ Vq d S(   s   .partdN(   t   endswith(   RM   Rî   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pys	   <genexpr>  s    (   R2   R4   R9   RÕ   R[   RY   R	   R5   R‘   Rë   R’  R'   (   R   R%   R>   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_temporary_directory  s
    
c          C` sƒ   t  j g  ƒ }  t |  j t ƒ j ƒ  t ƒ t |  j t ƒ j ƒ  t ƒ t |  j t ƒ j	 ƒ  t ƒ t |  j t ƒ j
 ƒ  t ƒ d  S(   N(   R2   R3   R   R   R    R’   Rˆ   R‘   R“   R8   R}   (   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_empty_bag   s
    c          C` s]   t  j d d d g d d ƒ}  |  j d ƒ d d g k s? t ‚ t j d ƒ t j d ƒ d  S(	   NR)  R*  R+  R(   i   s   foo*t   foo0t   foo1(   R2   R3   R.  R'   Rë   RS   (   R%   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_bag_paths(  s    !c          C` sr   d „  }  t  j d d d g ƒ } t | j |  d ƒ d d d g ƒ t | j |  t j d ƒ ƒ d d d g ƒ d  S(	   Nc         S` s   g  |  D] } | | ^ q S(   N(    (   R   R¦  R"   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt
   append_str0  s    R/   R%   R0   R—   t   afoot   bfoot   cfoo(   R2   R3   R   R¹   R9   R:   (   Rº  t   mybag(    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_map_partitions_arg/  s    	c          C` s”   t  j d d d g ƒ }  t |  j t ƒ j ƒ  ƒ } d t t j j | ƒ k sT t	 ‚ t
 |  j t ƒ j ƒ  ƒ t
 |  j t ƒ j ƒ  ƒ k s t	 ‚ d  S(   Ni   i   i   R    (   R2   R3   RN   R   R    t   __dask_graph__R9   R   t	   key_splitR'   R[   R¹   (   R%   R\   (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   test_map_keynames;  s    !(   R"   i    (   R"   i   (   R"   i   (   iè  i   id   (   i90  iê   i  (   id   i   i2   (¹   t
   __future__R    R   R   t	   itertoolsR   R£   Rë   R½   R  R;   t   toolzR   R   R   R   R   R	   R
   R   R9   t   dask.bagR~   R2   RÚ   R   R   R   R   R   R   R   R   R   R   R   t   dask.bag.utilsR   t   dask.compatibilityR   R   R   R   Rl  R   t
   dask.utilsR   R   R   t   dask.utils_testR    R!   R4   R,   R6   RV   R%   R#   R$   R)   R.   RF   RG   RL   RP   RU   RW   t   markt   parametrizeRY   t   reprRZ   R]   Rd   Ri   Rv   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Ç   RÈ   RÉ   RË   RT   RÌ   RÐ   RÒ   RÓ   RÙ   RÛ   RÜ   t   slowt   networkt   skipRà   Ræ   Rï   Rò   Rö   Rû   Rü   Rý   R  R  R
  R  R  R  R  R  R  R  R'  Ré   t   ext_opent   appendR7  R>  R@  RA  RE  RH  RT  RU  RV  RW  RX  RY  Ra  Rc  Re  Rg  Rj  Rq  Rw  Rx  R}  R  R‚  t   skipifR†  R‹  R  R  R‘  R“  R”  R–  R   R—  R›  R¡  R¢  R¨  R©  Rª  R­  R±  R²  Rµ  R¶  R¹  R¿  RÂ  (    (    (    s6   lib/python2.7/site-packages/dask/bag/tests/test_bag.pyt   <module>   s(  :L"					4						$	
												
$					'	$
			
				
		
	
	
											$
	
									
								?	
				
														!0						'
		
												