ó
¦–Õ\c           @` sQ   d  d l  m Z m Z m Z d „  Z d „  Z d „  Z d e f d „  ƒ  YZ d S(   i    (   t   absolute_importt   divisiont   print_functionc         C` s   |  d S(   Ni   (    (   t   x(    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   inc   s    c         C` s   |  d S(   Ni   (    (   R   (    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   dec   s    c         C` s   |  | S(   N(    (   R   t   y(    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   add   s    t   GetFunctionTestMixinc           B` sq   e  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 RS(   s  
    The GetFunctionTestCase class can be imported and used to test foreign
    implementations of the `get` function specification. It aims to enforce all
    known expectations of `get` functions.

    To use the class, inherit from it and override the `get` function. For
    example:

    > from dask.utils_test import GetFunctionTestMixin
    > class TestCustomGet(GetFunctionTestMixin):
         get = staticmethod(myget)

    Note that the foreign `myget` function has to be explicitly decorated as a
    staticmethod.
    c         C` sˆ   i d d 6t  d f d 6t d d f d 6} |  j | d ƒ d k sH t ‚ |  j | d ƒ d k sf t ‚ |  j | d ƒ d k s„ t ‚ d  S(   Ni   s   :xs   :ys   :zi   i   (   R   R   t   gett   AssertionError(   t   selft   d(    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   test_get    s    
c         C` s’   i d d 6t  d f d 6t d d f d 6} y |  j | d ƒ } Wn t k
 rS n; Xd } | d j | ƒ 7} t sŽ t | j |  j j ƒ ƒ ‚ d  S(   Ni   s   :xs   :ys   :zt   badkeys-   Expected `{}` with badkey to raise KeyError.
s   Obtained '{}' instead.(   R   R   R	   t   KeyErrort   formatt   FalseR
   t   __name__(   R   R   t   resultt   msg(    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   test_badkey)   s    
c         C` s˜   i d d 6d d 6t  d d g f d 6} y |  j | d g d g ƒ } Wn t k
 rY n; Xd } | d j | ƒ 7} t s” t | j |  j j ƒ ƒ ‚ d  S(	   Ni   R   i   R   t   zR   s-   Expected `{}` with badkey to raise KeyError.
s   Obtained '{}' instead.(   t   sumR	   R   R   R   R
   R   (   R   R   R   R   (    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   test_nested_badkey6   s    'c         C` s?   i d d 6t  d d f d 6} |  j | d ƒ d k s; t ‚ d  S(   Ni   R   i
   R   i   (   R   R	   R
   (   R   R   (    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   test_data_not_in_dict_is_okB   s    c         C` sm   i d d 6d d 6t  d d g f d 6} |  j | d d g ƒ d k sK t ‚ |  j | d ƒ d k si t ‚ d  S(   Ni   R   i   R   R   i   (   i   i   (   R   R	   R
   (   R   R   (    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   test_get_with_listF   s    '$c         C` su  i d d d g d 6d d 6d t  d f g d 6t d f g d 6d d g d 6t d f d g t d f g d g d	 6} |  j | d ƒ d d d g k s™ t ‚ |  j | d ƒ d d d g k sÀ t ‚ |  j | d ƒ d d g k sä t ‚ |  j | d ƒ d
 g k st ‚ |  j | d ƒ d d d g d d d g g k s;t ‚ |  j | d	 ƒ d
 d d g g d
 g d g k sqt ‚ d  S(   Ni   i   i   t   at   bt   cR   t   et   fi   (   R   R   R	   R
   (   R   R   (    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   test_get_with_list_top_levelL   s    (''$!6c         C` sp   i d d 6d d 6t  d d g f d 6} |  j | d g d g ƒ d k sN t ‚ |  j | d ƒ d k sl t ‚ d  S(	   Ni   R   i   R   R   i   (   i   (   (   i   i   (   R   R	   R
   (   R   R   (    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   test_get_with_nested_listZ   s    ''c         C` sQ   d „  } i d d 6| d t  d g ƒ f d 6} |  j | d ƒ d k sM t ‚ d  S(   Nc         S` s   |  t  | ƒ S(   N(   t   len(   R   R   (    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   <lambda>a   t    i   R   R   i   (   t   setR	   R
   (   R   R   R   (    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt)   test_get_works_with_unhashables_in_values`   s    	&c         C` sR   i d d 6t  d f d 6t t  d f d f d 6} |  j | d ƒ d k sN t ‚ d  S(   Ni   R   R   R   i   (   R   R   R	   R
   (   R   R   (    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   test_nested_tasksf   s    
c         C` sB   d „  t  d ƒ Dƒ } d | d <|  j | d ƒ d k s> t ‚ d  S(   Nc         S` s+   i  |  ]! } t  d  | f d  | d “ q S(   s   x%di   (   R   (   t   .0t   i(    (    s.   lib/python2.7/site-packages/dask/utils_test.pys
   <dictcomp>n   s   	 i'  i    t   x0t   x10000(   t   rangeR	   R
   (   R   R   (    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   test_get_stack_limitm   s    
c         C` s–   d d l  m } i i d d 6t d f d 6d 6i t t d f d f d 6d 6} i d	 d 6d h d 6} | | | ƒ } |  j | d ƒ d k s’ t ‚ d  S(
   Ni   (   t   HighLevelGraphR   R   R   R   R   i   (    (   t   highlevelgraphR.   R   R   R	   R
   (   R   R.   t   layerst   dependenciest   graph(    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   test_with_HighLevelGraphr   s     (   R   t
   __module__t   __doc__R   R   R   R   R   R    R!   R&   R'   R-   R3   (    (    (    s.   lib/python2.7/site-packages/dask/utils_test.pyR      s   											N(	   t
   __future__R    R   R   R   R   R   t   objectR   (    (    (    s.   lib/python2.7/site-packages/dask/utils_test.pyt   <module>   s   			