ó
¦–Õ\c           @   su  d  d l  m Z d  d l m Z m Z d  d l Z d  d l m Z d  d l Z d  d l Z d  d l	 m
 Z
 m Z m Z d  d l Z d  d l Z d  d l m Z d  d l m Z m Z d  d l m Z m Z m Z d  d	 l m Z y d  d
 l m Z Wn e k
 rd Z n Xd 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 „  Z, d „  Z- d „  Z. d „  Z/ d „  Z0 d  „  Z1 d! „  Z2 d" „  Z3 d# „  Z4 d$ „  Z5 d% „  Z6 d& „  Z7 d' „  Z8 d( „  Z9 d) „  Z: d* „  Z; d+ „  Z< d, „  Z= d- „  Z> d. „  Z? d/ „  Z@ d0 „  ZA d1 „  ZB d S(2   iÿÿÿÿ(   t
   namedtuple(   t   addt   setitemN(   t   random(   t   identityt   partialt   merge(   t   compute(   t   PY2t   PY3(   t   delayedt   to_task_daskt   Delayed(   t   inc(   t   matmult   Tuplec           B   sG   e  Z e e j j ƒ Z d  „  Z d „  Z d „  Z	 d „  Z
 d „  Z RS(   c         C   s   | |  _  | |  _ d  S(   N(   t   _daskt   _keys(   t   selft   dskt   keys(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   __init__   s    	c         C   s   |  j  S(   N(   R   (   R   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   __dask_tokenize__   s    c         C   s   |  j  S(   N(   R   (   R   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   __dask_graph__!   s    c         C   s   |  j  S(   N(   R   (   R   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   __dask_keys__$   s    c         C   s
   t  d f S(   N(    (   t   tuple(   R   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   __dask_postcompute__'   s    (   t   __name__t
   __module__t   staticmethodt   daskt   threadedt   gett   __dask_scheduler__R   R   R   R   R   (    (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyR      s   				c       	   C   s,  t  j d t ƒ t d d d ƒ}  t d d d ƒ} t |  | d g ƒ \ } } | d d d g k sm t ‚ t |  | d f ƒ \ } } | t d d d g f k s© t ‚ t | ƒ t |  j	 | j	 ƒ k sÐ t ‚ t i d |  6d | 6ƒ \ } } | t d d g d d g g f k s>| t d d g d d g g f k s>t ‚ t | ƒ t |  j	 | j	 ƒ k set ‚ t
 d d	 d
 g ƒ } | d d ƒ } t | ƒ \ } } | | k s­t ‚ t | ƒ i  k sÅt ‚ t t |  | d ƒ ƒ \ } } | t d d d f k st ‚ t | ƒ t |  j	 | j	 ƒ k s(t ‚ d t f d „  ƒ  Y} t | ƒ  ƒ \ } } t | ƒ | k skt ‚ t | ƒ i  k sƒt ‚ t i d d 6d d 6t d d f d 6d d d g ƒ } t | ƒ \ } } | | k sÝt ‚ | j | ƒ } | t d d d g f k st ‚ | | j k s"t ‚ Wd  QXd  S(   Nt   recordi   t   namet   ai   t   bi   t   ft   xt   yt   MyClassc           B   s   e  Z RS(    (   R   R   (    (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyR)   F   s   t   c(   t   warningst   catch_warningst   TrueR
   R   t   AssertionErrorR   t   dictR   R   R    t   slicet   typeR   R   t   popR   (   R$   R%   t   taskR   R&   R'   R)   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_to_task_dask+   s<    !' $*''6!c          C   sï   t  t ƒ }  |  d d ƒ j ƒ  d k s- t ‚ |  d d ƒ d j ƒ  d k sR t ‚ |  |  d d ƒ d ƒ j ƒ  d k s| t ‚ t  d ƒ } | j ƒ  d k s  t ‚ d | j j ƒ  k s» t ‚ |  |  | d ƒ d ƒ } | j | j k së t ‚ d  S(   Ni   i   i   i   (   R
   R   R   R.   R   t   valuest   key(   t   add2R$   R%   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_delayedV   s    !%*c          C   s   t  j d ƒ }  |  j d d t f g ƒ } t j d ƒ } t j i | d | ƒ d 6ƒ } d „  } t | ƒ | ƒ } | j ƒ  d k s‹ t ‚ d  S(   Nt   dataclassest
   ADataClassR$   i   c         S   s   |  d j  S(   NR$   (   R$   (   t   obj(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   return_nestedl   s    (   t   pytestt   importorskipt   make_dataclasst   intR   R
   R   R.   (   R9   R:   t   literalt
   with_classR<   t   final(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_delayed_with_dataclassc   s    	c          C   s}  t  d d d g ƒ }  |  d j ƒ  d k s1 t ‚ |  |  j ƒ  d d d d d d g k s_ t ‚ t  d ƒ } |  |  j ƒ  d d g k s t ‚ t  d ƒ }  |  d j ƒ  d k sµ t ‚ d |  j ƒ  d k sÑ t ‚ |  d ?j ƒ  d k sí t ‚ |  d k j ƒ  st ‚ |  d j ƒ  d k s!t ‚ t ryd	 d d
 „  ƒ  Y} t  | ƒ  ƒ } t  | ƒ  ƒ } t d ƒ j ƒ  d k syt ‚ n  d  S(   Ni   i   i   i    i
   i   i   id   t   dummyc           B   s   e  Z d  „  Z RS(   c         S   s   d S(   Ni   (    (   R   t   other(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt
   __matmul__„   s    (   R   R   RG   (    (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRE   ƒ   s   s   c @ di   (    (   R
   R   R.   R   t   eval(   R$   R%   RE   R*   t   d(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_operatorst   s     ."c          C   sÙ   t  d ƒ }  |  j d ƒ j ƒ  d d d d d g k s< t ‚ |  j ƒ  j d d	 ƒ j ƒ  j d	 ƒ j ƒ  d
 k su t ‚ |  j d d t ƒj |  j d d t ƒj k s« t ‚ |  j d d d ƒ} | j d k sÕ t ‚ d  S(   Ns	   a b c d et    R$   R%   R*   RI   t   et   Bt   Ai   t   puret   dask_key_namet   test(	   R
   t   splitR   R.   t   uppert   replacet   countR-   R6   (   R$   t   o(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_methodsŒ   s    096c          C   s†   t  d ƒ }  |  j j |  j j k s* t ‚ |  j j ƒ  d k sE t ‚ |  j j ƒ  d k s` t ‚ |  j |  j j ƒ  d k s‚ t ‚ d  S(   Ni   y              ð?i   i   y       @      ð?(   R
   t   realt   _keyR.   R   t   imag(   R$   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_attributes•   s
    c          C   sV   t  d d d g ƒ }  |  j d ƒ } t t d „  | j ƒ  j ƒ  Dƒ ƒ k sR t ‚ d  S(   Ni   i   i   c         s   s   |  ] } | d  Vq d S(   i    N(    (   t   .0t   v(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pys	   <genexpr>¡   s    (   R
   t   indext   getattrt   setR   R5   R.   (   R$   RV   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt"   test_method_getattr_call_same_task   s    c          C   s~   t  j d ƒ }  t d ƒ } t  j t ƒ  |  j | ƒ Wd  QXt |  j d g d d ƒƒ j j ƒ  |  j d ƒ k sz t ‚ d  S(   Nt   numpyi   t   dtypet   f8(	   R=   R>   R
   t   raisest	   TypeErrorRc   t   arrayR   R.   (   t   npR'   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_np_dtype_of_delayed¤   s
    c              s¯   t  d d d g ƒ ‰  t j t ‡  f d †  ƒ t j t ‡  f d †  ƒ t j t ‡  f d †  ƒ t j t ‡  f d †  ƒ t j t ‡  f d †  ƒ t j t ‡  f d	 †  ƒ d  S(
   Ni   i   i   c              s   t  ˆ  d d ƒ S(   Nt   fooi   (   t   setattr(    (   R$   (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   <lambda>±   t    c              s   t  ˆ  d d ƒ S(   Ni   i    (   R   (    (   R$   (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   ²   Rm   c              s
   d ˆ  k S(   Ni   (    (    (   R$   (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   ´   Rm   c              s
   t  ˆ  ƒ S(   N(   t   list(    (   R$   (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   µ   Rm   c              s
   ˆ  j  ƒ  S(   N(   t   _hidden(    (   R$   (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   ·   Rm   c              s
   t  ˆ  ƒ S(   N(   t   bool(    (   R$   (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   ¹   Rm   (   R
   R=   Re   Rf   t   AttributeError(    (    (   R$   s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_delayed_errors®   s    c          C   sz   t  d d d g ƒ }  |  d |  d } |  d j | j k sC t ‚ |  j | j k s[ t ‚ t | j ƒ d k sv t ‚ d  S(   Ni   i   i   i    (   R
   R6   R   R.   t   len(   R$   t   res(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_common_subexpressions¼   s
    c          C   sm   t  d i d d 6t d f d 6t d f d 6ƒ }  t j |  ƒ \ } t | j j ƒ  ƒ d d g k si t ‚ d  S(   NR%   i   R$   R*   (   R   R   R   t   optimizet   sortedR   R.   (   R'   t   x2(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_delayed_optimizeÄ   s
    c          C   sL   t  d ƒ }  t  d ƒ } t  t ƒ |  | g ƒ } | j ƒ  d k sH t ‚ d  S(   Ni   i   i   (   R
   t   sumR   R.   (   R$   R%   R*   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt
   test_listsÍ   s    c          C   s–  t  d ƒ }  |  d } |  | d f } t  | ƒ j ƒ  d k sC t ‚ |  | d g } t  | ƒ j ƒ  d d d g k sy t ‚ t |  | d f ƒ } t  | ƒ j ƒ  t d ƒ k s² t ‚ i d |  6d | 6d d 6} t  | ƒ j ƒ  i d d 6d d 6d d 6k s t ‚ t  | ƒ |  j ƒ  d k s"t ‚ i |  d 6| d 6d d 6} t  | ƒ j ƒ  i d d 6d d 6d d 6k spt ‚ t  | ƒ d j ƒ  d k s’t ‚ d  S(	   Ni   i   i   R$   R%   R*   (   i   i   i   (   i   i   i   (   R
   R   R.   R`   (   R$   R%   t   lit(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_literatesÔ   s    
'$3"3c          C   s}   t  d ƒ }  |  d } |  | d f } t  | ƒ j t  | ƒ j k sI t ‚ t  | d t ƒj t  | d t ƒj k sy t ‚ d  S(   Ni   i   RO   (   R
   R6   R.   R-   (   R$   R%   R|   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_literates_keyså   s
    
$c          C   se   t  d ƒ }  t  d ƒ } t  t ƒ |  d g | d g g d d „  ƒd } | j ƒ  d k sa t ‚ d  S(   Ni   i   i
   i   R6   c         S   s   |  d S(   Ni    (    (   R'   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   ð   Rm   (   R
   t   maxR   R.   (   R$   R%   R*   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_lists_are_concreteí   s    1c          C   s‘   t  d ƒ }  t  d ƒ } t  t ƒ t |  | g ƒ ƒ } | j ƒ  d k sN t ‚ d „  } t  | ƒ t |  | g ƒ ƒ } | j ƒ  d k s t ‚ d  S(   Ni   i   i   c         S   s
   t  |  ƒ S(   N(   Rz   (   t   seq(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyR&   ü   s    (   R
   Rz   t   iterR   R.   (   R$   R%   R*   R&   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_iteratorsõ   s    	c          C   sÎ  d „  }  t  |  ƒ ƒ  } | d d d g } t  | d t ƒj ƒ  } t | ƒ d k sZ t ‚ | d | k sp t ‚ | d | d k sŠ t ‚ |  | |  | f f } t  | d t ƒj ƒ  } t | t ƒ sÌ t ‚ | d |  k sâ t ‚ | d | k sø t ‚ d |  | f | g } t  | d t ƒj ƒ  } t | t ƒ s:t ‚ | d d k sPt ‚ | d d |  k rx| d d | k s~t ‚ | d | k s”t ‚ t  d ƒ } t  | d t ƒ} | j ƒ  d k sÊt ‚ d  S(   Nc          W   s   t  d ƒ ‚ d  S(   Ns   shouldn't have computed(   t
   ValueError(   t   args(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   fail  s    i   i   i   t   traversei   i    (   R
   t   FalseR   Rs   R.   t
   isinstanceR   Rn   (   R†   R$   R'   Rt   R%   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_traverse_false  s*    	.c          C   s|   t  t d t ƒd d ƒ }  t  t d t ƒd d ƒ } |  j | j k sN t ‚ t  t ƒ } | ƒ  j | ƒ  j k sx t ‚ d  S(   NRO   i   i   (   R
   R   R-   R6   R.   R   (   t   v1t   v2t   myrand(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt	   test_pure&  s
    c          C   s  t  t ƒ }  t j j d t ƒ / |  d d ƒ j |  d d ƒ j k sL t ‚ Wd  QXt j j d t ƒ / |  d d ƒ j |  d d ƒ j k s’ t ‚ Wd  QXt  t d t ƒ}  t j j d t ƒ / |  d d ƒ j |  d d ƒ j k sê t ‚ Wd  QXt  d ƒ j t  d ƒ j k st ‚ t j j d t ƒ ) t  d ƒ j t  d ƒ j k sNt ‚ Wd  QXt j j d t ƒ 5 t  d d t ƒj t  d d t ƒj k sšt ‚ Wd  QXt  d d d g ƒ } | j	 d ƒ j | j	 d ƒ j k sßt ‚ t j j d t ƒ e | j	 d ƒ j | j	 d ƒ j k st ‚ | j	 d d t ƒj | j	 d d t ƒj k sUt ‚ Wd  QXt j j d t ƒ ; | j	 d d t ƒj | j	 d d t ƒj k s§t ‚ Wd  QXt j j d t ƒ M | j	 j | j	 j k sát ‚ | d } | | j | | j k st ‚ Wd  QXd  S(   Nt   delayed_purei   i   RO   i   i    (
   R
   R   R   t   configR`   R-   R6   R.   Rˆ   R^   (   t   funct   datat   element(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_pure_global_setting/  s0    000$*6**<<
c             s9  t  d „  d d d t ƒ}  |  d ƒ } t | ƒ d k s? t ‚ | \ ‰  } t ˆ  | ƒ d k sf t ‚ ˆ  j d  k s{ t ‚ | j d  k s t ‚ t j t	 ‡  f d †  ƒ t j t	 ‡  f d †  ƒ t j t
 d	 „  ƒ t j t
 d
 „  ƒ t  t d d  ƒ}  |  d ƒ ‰  ˆ  j d  k st ‚ t j t	 ‡  f d †  ƒ t j t	 ‡  f d †  ƒ t  d „  d d d t ƒ}  |  d ƒ } t | ƒ d k sŒt ‚ | \ ‰  ˆ  j ƒ  d k s­t ‚ ˆ  j d  k sÂt ‚ t j t	 ‡  f d †  ƒ t  d „  d d d t ƒ}  |  d ƒ } t | ƒ d k st ‚ | j ƒ  t ƒ  k s5t ‚ d  S(   Nc         S   s   |  |  f S(   N(    (   R'   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   X  Rm   t   nouti   RO   i   iÿÿÿÿc              s
   t  ˆ  ƒ S(   N(   Rs   (    (   R$   (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   _  Rm   c              s
   t  ˆ  ƒ S(   N(   Rn   (    (   R$   (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   `  Rm   c           S   s   t  t d d ƒS(   NR•   iÿÿÿÿ(   R
   R   (    (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   b  Rm   c           S   s   t  t d t ƒS(   NR•   (   R
   R   R-   (    (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   c  Rm   c              s
   t  ˆ  ƒ S(   N(   Rn   (    (   R$   (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   h  Rm   c              s
   t  ˆ  ƒ S(   N(   Rs   (    (   R$   (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   i  Rm   c         S   s   |  f S(   N(    (   R'   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   k  Rm   c              s
   t  ˆ  ƒ S(   N(   Rs   (    (   R$   (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   q  Rm   c         S   s   t  ƒ  S(   N(   R   (   R'   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRl   s  Rm   i    (   i   iÿÿÿÿ(   R
   R-   Rs   R.   R   t   _lengtht   NoneR=   Re   Rf   R„   R   R   (   R‘   R'   R%   (    (   R$   s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt	   test_noutW  s6    	c       	   C   sŸ  d d „ }  t  |  ƒ } | d d d t  d ƒ d g d | d d ƒ ƒ} | j ƒ  d k s` t ‚ t  |  d	 t ƒ} t  d ƒ d g } | d d d | d | d d ƒ ƒ} | j ƒ  d k sÀ t ‚ | d d d | d | d d ƒ ƒj | j k sö t ‚ | d d d | d | d d ƒ ƒj | j k s,t ‚ | d d d | d d
 ƒj | j k sYt ‚ | d d d | d d
 ƒj | d d d | d d
 ƒj k s›t ‚ d  S(   Nc         [   s"   |  | t  | ƒ t  | j ƒ  ƒ S(   N(   Rz   R5   (   R$   R%   R*   t   kwargs(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   mysumz  s    i   i   R*   i   i    t   fouri
   RO   i   (    (   R
   R   R.   R-   R6   (   Rš   t   dmysumt   tenR*   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_kwargsy  s    0$66-c          C   sÖ   t  i d d 6d d 6t d d f d 6d d d g ƒ }  t t d t ƒ|  d ƒ } t t d t ƒ|  ƒ } t t d t ƒ|  ƒ j | j k s“ t ‚ | j ƒ  d k s« t ‚ t | | |  ƒ d
 d d f k sÒ t ‚ d  S(   Ni   R$   i   R%   R*   RO   i   i   i   i   (   i   i   i   (   i   i   i   i   i   i   (   i   i   i   i   i   i   (   i   i   i   (   R   R   R
   R-   Rs   R6   R.   R   (   R'   Rx   t   n(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_custom_delayed‰  s    6*c          C   s¥  t  j d ƒ }  t  j d ƒ } |  j d ƒ j d
 ƒ } | j | d d ƒ} t t ƒ | | d g ƒ } t | t ƒ s{ t	 ‚ |  j
 | j ƒ  | | d ƒ s¡ t	 ‚ | j ƒ  j ƒ  | | d j ƒ  k sÍ t	 ‚ | d j ƒ  | | d d k sõ t	 ‚ t j d	 t ƒ  t | ƒ \ } } Wd  QXt | j ƒ } t | ƒ } | j | ƒ sPt	 ‚ | j | ƒ }	 t |	 ƒ d k swt	 ‚ t | ƒ }
 |
 j ƒ  | k j ƒ  s¡t	 ‚ d  S(   NRb   s
   dask.arrayid   i
   t   chunksi   i   i    R"   (   i
   i
   (   i   i   (   i    i    (   i    i    (   R=   R>   t   aranget   reshapet
   from_arrayR
   Rz   R‰   R   R.   t   allcloseR   R+   R,   R-   R   R`   R   t   issubsett
   differenceRs   t   all(   Rh   t   dat   arrt   darrt   valR3   R   t   origRC   t   difft   delayed_arr(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_array_delayed’  s$    &,(c          C   s   t  j d ƒ }  t  j d ƒ } t  j d ƒ } | j d ƒ j d ƒ } | j | j ƒ } | j | d d ƒ} | j | d d ƒ} |  j d d	 d
 g ƒ } | | | | | g } t t	 ƒ g  | D] }	 |	 j	 ƒ  ^ q¾ ƒ }
 |
 j
 ƒ  d	 | j	 ƒ  d	 | j	 ƒ  t	 d d	 d
 g ƒ k st ‚ d  S(   Ns   dask.bags
   dask.arrayRb   id   i
   R¡   i   i   i   i   (   i
   i
   (   i   i   (   i   i   (   R=   R>   R¢   R£   t   dott   TR¤   t   from_sequenceR
   Rz   R   R.   (   t   dbR©   Rh   t   arr1t   arr2t   darr1t   darr2R%   R   t   it   out(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_array_bag_delayedª  s    +c          C   s–  t  t d d d t ƒd d ƒ }  t j t j |  ƒ ƒ } |  j | j k sQ t ‚ |  j | j k si t ‚ |  j	 | j	 k s t ‚ t  d ƒ }  t j t j |  ƒ ƒ } |  j | j k s½ t ‚ |  j | j k sÕ t ‚ |  j
 | j
 k sí t ‚ |  j | j k st ‚ |  j }  t j t j |  ƒ ƒ } |  j j | j j k sDt ‚ |  j j | j j k sbt ‚ |  j | j k szt ‚ |  j | j k s’t ‚ d  S(   NR•   i   RO   i   y              ð?y       @      ð?(   R
   t   divmodR-   t   picklet   loadst   dumpsR   R.   RY   R–   t   _noutt   _pureRX   t   _objt   _attr(   R'   R(   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_delayed_picklable¹  s"    !	c          C   s$   t  d ƒ d }  |  j d d ƒ d  S(   Ni   i   t   bogus_keywordi
   (   R
   R   (   R'   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt#   test_delayed_compute_forward_kwargsÐ  s    c           C   s   t  t j ƒ d ƒ d  S(   NRm   (   R
   t   bytest   decode(    (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_delayed_method_descriptorÕ  s    c          C   s„   t  t d t ƒ}  |  d d ƒ } | j i t d d f | j 6k sI t ‚ |  j i t |  j 6k sh t ‚ |  j ƒ  t k s€ t ‚ d  S(   NRO   i   i   (   R
   R   R-   R   R6   R.   R   (   R&   R]   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_delayed_callableÙ  s
    (c          C   s:   t  t d t ƒ}  |  d d d d ƒj d k s6 t ‚ d  S(   NRO   i   i   RP   Rj   (   R
   R   R-   RY   R.   (   R&   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_delayed_name_on_callâ  s    c          C   s€   d t  f d „  ƒ  Y}  |  d ƒ } t | ƒ } | j ƒ  | k sF t ‚ | j j ƒ  d k sa t ‚ | ƒ  j ƒ  d k s| t ‚ d  S(   Nt   Fooc           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   | |  _  d  S(   N(   R$   (   R   R$   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyR   é  s    c         S   s   d S(   Ni   (    (   R   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   __call__ì  s    (   R   R   R   RÍ   (    (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRÌ   è  s   	i   i   (   t   objectR
   R   R.   R$   (   RÌ   Rj   R&   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_callable_objç  s    c          C   s  t  t d t ƒ}  i d d 6d d 6d d d g d 6} t rZ |  | ƒ j d	 k sZ t ‚ n  t r~ |  | ƒ j d
 k s~ t ‚ n  i d d 6d d 6} |  | ƒ j |  | ƒ j k s¶ t ‚ t rÚ |  d ƒ j d k sÚ t ‚ n  t rþ |  d ƒ j d k sþ t ‚ n  d  S(   NRO   i   R'   i   R(   i   i   t   zs)   identity-6700b857eea9a7d3079762c9a253ffbds)   identity-84c5e2194036c17d1d97c4e3a2b90482s)   identity-91f02358e13dca18cde218a63fee436as)   identity-7126728842461bf3d2caecf7b954fa3b(   R
   R   R-   R   RY   R.   R	   (   R‘   R’   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt%   test_name_consistent_across_instancesö  s    $$c           C   sR   t  t t d ƒ d t ƒd ƒ j t  t t d ƒ d t ƒd ƒ j k sN t ‚ d  S(   Ni
   RO   i   i   (   R
   R   R   R-   RY   R.   (    (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_sensitive_to_partials  s    !c          C   s”   t  d ƒ j j d ƒ s t ‚ t  d d t ƒj j d ƒ sB t ‚ t  d d d ƒj d k sc t ‚ d „  }  t  |  ƒ d ƒ j j d ƒ s t ‚ d  S(   Ni   s   int-RO   R#   t   Xc         S   s   |  d S(   Ni   (    (   R'   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   myfunc  s    RÔ   (   R
   RY   t
   startswithR.   R-   R6   (   RÔ   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_delayed_name  s
    $!	c             s†   t  j d ƒ }  |  j d d d ƒ} t | g ƒ } t | j ƒ j | j ƒ sT t ‚ d „  ‰  t ‡  f d †  | j Dƒ ƒ s‚ t ‚ d  S(   Ns
   dask.arrayi
   R¡   i   c         S   s-   t  |  t ƒ r |  d }  n  |  j d ƒ d S(   Ni    t   -(   R‰   R   RR   (   t   s(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyR6     s    c         3   s!   |  ] } ˆ  | ƒ j  ƒ  Vq d  S(   N(   t   isalpha(   R\   t   k(   R6   (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pys	   <genexpr>$  s    (	   R=   R>   t   onesR
   R`   R   R¦   R.   R¨   (   R©   R'   R]   (    (   R6   s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_finalize_name  s    !	c          C   sz   t  j d ƒ }  d d l m } |  j d d d ƒj ƒ  j ƒ  } g  | D] } t t ƒ | ƒ ^ qG } | | d j	 ƒ d  S(	   Ns
   dask.arrayiÿÿÿÿ(   t
   _check_dski
   R¡   i   i    (   i
   i
   (
   R=   R>   t   dask.array.utilsRÝ   RÛ   t
   to_delayedt   flattenR
   R   R   (   R©   RÝ   RÓ   R'   t   xs(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_keys_from_array'  s
    !%c          C   sO  d t  f d „  ƒ  Y}  |  d ƒ } | j d d ƒ j ƒ  d k sF t ‚ |  j | d d ƒ j ƒ  d k sm t ‚ | j d d ƒ j ƒ  d k s‘ t ‚ |  j d d ƒ j ƒ  d k sµ t ‚ | j d d ƒ j ƒ  d k sÙ t ‚ |  j d d ƒ j ƒ  d k sý t ‚ t | j t j ƒ st ‚ t |  j t j ƒ s3t ‚ t |  j t	 ƒ sKt ‚ d  S(	   NRN   c           B   sP   e  Z d  Z d „  Z e d „  ƒ Z e e d „  ƒ ƒ Z e e d „  ƒ ƒ Z	 RS(   i
   c         S   s   | |  _  d  S(   N(   t   BASE(   R   t   base(    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyR   6  s    c         S   s   |  j  | | S(   N(   Rã   (   R   R'   R(   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt	   addmethod9  s    c         S   s   |  j  | | S(   N(   Rã   (   t   clsR'   R(   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   addclass=  s    c         S   s   |  | S(   N(    (   R'   R(   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt	   addstaticB  s    (
   R   R   Rã   R   R
   Rå   t   classmethodRç   R   Rè   (    (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyRN   3  s   	id   i   i   ik   i   i   (
   RÎ   Rå   R   R.   Rç   Rè   R‰   t   typest
   MethodTypeR   (   RN   R$   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt    test_delayed_decorator_on_method2  s    $'$$$$c          C   sa   t  d ƒ }  t |  j t ƒ s$ t ‚ t |  j j t ƒ s? t ‚ t |  j j j t ƒ s] t ‚ d  S(   Ni{   (   R
   R‰   R$   R   R.   R%   R*   (   R'   (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   test_attribute_of_attribute]  s    (C   t   collectionsR    t   operatorR   R   R½   R   Rê   R+   t   toolzR   R   R   R=   R   R   t   dask.compatibilityR   R	   t   dask.delayedR
   R   R   t   dask.utils_testR   R   t   ImportErrorR—   RÎ   R   R4   R8   RD   RJ   RW   R[   Ra   Ri   Rr   Ru   Ry   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í   (    (    (    s6   lib/python2.7/site-packages/dask/tests/test_delayed.pyt   <module>   sl   
	+								
										#			(	"																		+