ó
¾?Ty  c           @   s`   d  Z  d d l Z d d l j j Z d d l m Z d e f d „  ƒ  YZ	 d „  Z
 d „  Z d S(   s   test_utils

...
iÿÿÿÿN(   t   Eventt   testc           B   s   e  Z d  Z RS(   s
   test Event(   t   __name__t
   __module__t   __doc__(    (    (    s5   /home/prologic/work/circuits/tests/node/test_utils.pyR      s   c    	      C   s  d d l  m }  m } t d d d d d ƒ} t | _ t | _ d } |  | | ƒ } | | ƒ \ } } d } t | | ƒ } | s6d	 d
 i t	 j
 | ƒ d 6d t j ƒ  k s½ t	 j | ƒ rÌ t	 j
 | ƒ n d d 6d t j ƒ  k sô t	 j t ƒ rt	 j
 t ƒ n d d 6t	 j
 | ƒ d 6} t t	 j | ƒ ƒ ‚ n  d  } } d } t | | ƒ } | sd	 d
 i t	 j
 | ƒ d 6d t j ƒ  k s–t	 j | ƒ r¥t	 j
 | ƒ n d d 6d t j ƒ  k sÍt	 j t ƒ rÜt	 j
 t ƒ n d d 6t	 j
 | ƒ d 6} t t	 j | ƒ ƒ ‚ n  d  } } d } t | | ƒ } | sèd	 d
 i t	 j
 | ƒ d 6d t j ƒ  k sot	 j | ƒ r~t	 j
 | ƒ n d d 6d t j ƒ  k s¦t	 j t ƒ rµt	 j
 t ƒ n d d 6t	 j
 | ƒ d 6} t t	 j | ƒ ƒ ‚ n  d  } } d } t | | ƒ } | sÁd	 d
 i t	 j
 | ƒ d 6d t j ƒ  k sHt	 j | ƒ rWt	 j
 | ƒ n d d 6d t j ƒ  k st	 j t ƒ rŽt	 j
 t ƒ n d d 6t	 j
 | ƒ d 6} t t	 j | ƒ ƒ ‚ n  d  } } d } t | | ƒ } | sšd	 d
 i t	 j
 | ƒ d 6d t j ƒ  k s!t	 j | ƒ r0t	 j
 | ƒ n d d 6d t j ƒ  k sXt	 j t ƒ rgt	 j
 t ƒ n d d 6t	 j
 | ƒ d 6} t t	 j | ƒ ƒ ‚ n  d  } } d } t | | ƒ } | ssd	 d
 i t	 j
 | ƒ d 6d t j ƒ  k sút	 j | ƒ r	t	 j
 | ƒ n d d 6d t j ƒ  k s1t	 j t ƒ r@t	 j
 t ƒ n d d 6t	 j
 | ƒ d 6} t t	 j | ƒ ƒ ‚ n  d  } } d  S(   Niÿÿÿÿ(   t
   dump_eventt
   load_eventi   i   i   t   foot   bart   argst    s5   assert %(py5)s
{%(py5)s = %(py0)s(%(py1)s, %(py3)s)
}t   py3t   xt   py1t   hasattrt   py0t   py5t   kwargst   successt   failuret   channelst   notify(   t   circuits.node.utilsR   R   R   t   TrueR   t   FalseR   R   t
   @pytest_art	   _safereprt   @py_builtinst   localst   _should_repr_global_namet   AssertionErrort   _format_explanationt   None(	   R   R   t   et   idt   sR   t   @py_assert2t   @py_assert4t   @py_format6(    (    s5   /home/prologic/work/circuits/tests/node/test_utils.pyt   test_events   sV    		   œ  
   œ  
   œ  
   œ  
   œ  
   œ  c          C   sƒ  d d l  m }  m } d d l m } | ƒ  } d | _ t | _ d | _ |  | ƒ } | | ƒ \ } } } | j } | | k }	 |	 sRt	 j
 d |	 f d | | f ƒ i t	 j | ƒ d 6d	 t j ƒ  k sØ t	 j | ƒ rç t	 j | ƒ n d	 d
 6d t j ƒ  k st	 j | ƒ rt	 j | ƒ n d d 6}
 d i |
 d 6} t t	 j | ƒ ƒ ‚ n  d  } }	 d } | | k } | s	t	 j
 d | f d | | f ƒ i t	 j | ƒ d 6d t j ƒ  k sÆt	 j | ƒ rÕt	 j | ƒ n d d
 6} d i | d 6} t t	 j | ƒ ƒ ‚ n  d  } } | } | syd i d t j ƒ  k sGt	 j | ƒ rVt	 j | ƒ n d d
 6} t t	 j | ƒ ƒ ‚ n  d  } d  S(   Niÿÿÿÿ(   t
   dump_valuet
   load_value(   t   ValueR   i   s   ==s-   %(py2)s
{%(py2)s = %(py0)s.value
} == %(py4)st   py2t   vR   R   t   py4R
   s   assert %(py6)st   py6s   %(py0)s == %(py3)sR   R"   s   assert %(py5)sR   s   assert not %(py0)st   errors(   s   ==(   s-   %(py2)s
{%(py2)s = %(py0)s.value
} == %(py4)ss   assert %(py6)s(   s   ==(   s   %(py0)s == %(py3)ss   assert %(py5)ss   assert not %(py0)s(   R   R(   R)   t   circuits.core.valuesR*   t   valueR   R/   t   node_trnR   t   _call_reprcompareR   R   R   R   R   R   R    (   R(   R)   R*   R,   R#   R   R"   R/   t   @py_assert1t   @py_assert3t   @py_format5t   @py_format7R$   t   @py_format4R&   t   @py_format2(    (    s5   /home/prologic/work/circuits/tests/node/test_utils.pyt   test_values%   s6    					   £   
   l   
  A  (   R   t   __builtin__R   t   _pytest.assertion.rewritet	   assertiont   rewriteR   t   circuitsR    R   R'   R:   (    (    (    s5   /home/prologic/work/circuits/tests/node/test_utils.pyt   <module>   s     	