ó
¦–Õ\c           @   sÈ  d  d l  m Z m Z m Z m Z m Z m Z d  d l m Z m	 Z	 d „  Z
 d „  Z d „  Z d „  Z d Z e e	 d d
 f e d f e ƒ Z e e	 d d f e
 d f e ƒ Z e e	 e d f e d f f e	 e
 d f d f e ƒ Z e e	 e d f e d f f e	 e	 d d f d f e ƒ Z e e d	 d d g f e	 e	 d d f d	 f e ƒ Z d „  Z e e d f e d ƒ Z d „  Z d „  Z e e e e e e g Z e e Œ  Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿ(   t   RewriteRulet   RuleSett   headt   argst   VARt	   Traverser(   t   inct   addc         C   s   |  d S(   Ni   (    (   t   x(    (    s6   lib/python2.7/site-packages/dask/tests/test_rewrite.pyt   double   s    c           C   s‘   t  t d f ƒ t k s t ‚ t  t d d f ƒ t k s? t ‚ t  t t d f t d f f ƒ t k sl t ‚ t  d d d g ƒ t k s t ‚ d  S(   Ni   i   i   (   R   R   t   AssertionErrorR   t   list(    (    (    s6   lib/python2.7/site-packages/dask/tests/test_rewrite.pyt	   test_head	   s    !-c           C   s…   t  t d f ƒ d k s t ‚ t  t d d f ƒ d k s? t ‚ t  d ƒ d k sW t ‚ t  d d d g ƒ d d d g k s t ‚ d  S(   Ni   i   i   (   i   (   i   i   (    (   R   R   R
   R   (    (    (    s6   lib/python2.7/site-packages/dask/tests/test_rewrite.pyt	   test_args   s    !c          C   sô   t  t d f t t d f d f f }  t |  ƒ } | j ƒ  } | j t  k sQ t ‚ | j ƒ  | j t k sp t ‚ | j t  k s… t ‚ | j ƒ  | j t k s¤ t ‚ | j ƒ  | j t k sÃ t ‚ t	 | ƒ t  t d t t d d g k sð t ‚ d  S(   Ni   i   (
   R   R   R	   R   t   copyt   currentR
   t   nextt   skipR   (   t   termt   tt   t2(    (    s6   lib/python2.7/site-packages/dask/tests/test_rewrite.pyt   test_traverser   s    $


t   at   bt   ci   i   c         C   s+   |  d } t  | t ƒ r | St | f Sd  S(   NR   (   t
   isinstanceR   (   t   sdR   (    (    s6   lib/python2.7/site-packages/dask/tests/test_rewrite.pyt	   repl_list5   s    
R   c           C   sô   t  j d k s t ‚ t  j d g k s- t ‚ t j d k sB t ‚ t j d d g k s] t ‚ t j d k sr t ‚ t j d d g k s t ‚ t j d k s¢ t ‚ t j d d g k s½ t ‚ t j d k sÒ t ‚ t j d d d g k sð t ‚ d  S(	   NR   R   R   (   R   (   R   (   R   (   R   R   (   R   R   R   (   t   rule1t   varsR
   t   _varlistt   rule2t   rule3t   rule4t   rule5(    (    (    s6   lib/python2.7/site-packages/dask/tests/test_rewrite.pyt   test_RewriteRule@   s    c           C   s`   t  j i d d 6ƒ t d f k s( t ‚ t j i d d d g d 6ƒ d d d g k s\ t ‚ d  S(   Ni   R   i   i   R   (   R   t   subsR   R
   t   rule6(    (    (    s6   lib/python2.7/site-packages/dask/tests/test_rewrite.pyt   test_RewriteRuleSubsN   s    (c          C   s  i i i i  d g f t  6i  d g f d 6g  f t  6i i i i  d d g f t  6g  f t 6g  f t  6g  f t 6g  f t 6i i  d g f t  6g  f t 6i i i i i  d g f t  6g  f t  6g  f t  6g  f t 6g  f t 6g  f }  t j |  k sö t ‚ t j t k st ‚ d  S(   Ni   i    i   i   i   i   (	   R   R   R   R   t   sumt   rst   _netR
   t   rules(   t   net(    (    s6   lib/python2.7/site-packages/dask/tests/test_rewrite.pyt   test_RuleSetX   s    3DMc          C   sG  t  d d f }  t t j |  ƒ ƒ } t | ƒ d k s< t ‚ | d t i d d 6f k s_ t ‚ t  d d f }  t t j |  ƒ ƒ } t | ƒ d k s› t ‚ | d t i d d 6f k s¾ t ‚ | d t i d d 6f k sá t ‚ t  d g d g f }  t t j |  ƒ ƒ } t | ƒ d k s#t ‚ | d t i d g d 6f k sIt ‚ t  t d f t d f f }  t t j |  ƒ ƒ } t | ƒ d k s‘t ‚ | d t	 i d d 6f k s´t ‚ | d t
 i d d 6d d 6f k sÞt ‚ | d t i t d f d 6f k st ‚ t  d d f }  t t j |  ƒ ƒ } t | ƒ d k sCt ‚ d  S(   Ni   i   i    R   i   R   (   R   R   R(   t   iter_matchest   lenR
   R   R   R   R    R!   (   R   t   matches(    (    s6   lib/python2.7/site-packages/dask/tests/test_rewrite.pyt   test_matchesa   s,    ###&#*)c          C   s®  t  t d d f t d d f t d d f g f }  t j |  ƒ } | t t t d f t d f f t d f f k su t ‚ t j | ƒ } | t t t d f d f t d f f k s´ t ‚ t t t t d d f t d d f f t t d d f t d d f f f d f }  t j |  ƒ t t t t d d f f f f k s8t ‚ t d d d g f }  t j |  ƒ d d d g k sqt ‚ t t t d d d g f f }  t j |  ƒ |  k sªt ‚ d  S(   Ni   i   i   (	   R'   R   R(   t   rewriteR   R
   R	   R   t   map(   R   t   new_term(    (    s6   lib/python2.7/site-packages/dask/tests/test_rewrite.pyt   test_rewrite   s    060N6$N(   R   R   R   (   R   (   t   dask.rewriteR    R   R   R   R   R   t   dask.utils_testR   R   R	   R   R   R   R   R   R   R    R!   R'   R"   R   R   R%   R#   R&   R*   R(   R,   R0   R4   (    (    (    s6   lib/python2.7/site-packages/dask/tests/test_rewrite.pyt   <module>   s(   .				!!693						