ó
¾?T  c           @   sÑ   d  d l  Z d  d l j j Z d  d l m Z d  d l m	 Z	 m
 Z
 d e	 f d „  ƒ  YZ d e	 f d „  ƒ  YZ d e	 f d	 „  ƒ  YZ d
 e	 f d „  ƒ  YZ d e f d „  ƒ  YZ d „  Z d „  Z d „  Z d S(   iÿÿÿÿN(   t   handler(   t	   Componentt   Managert   Appc           B   s   e  Z d  „  Z RS(   c         O   s   d  S(   N(    (   t   selft   eventt   argst   kwargs(    (    s?   /home/prologic/work/circuits/tests/core/test_component_setup.pyt   test   s    (   t   __name__t
   __module__R   (    (    (    s?   /home/prologic/work/circuits/tests/core/test_component_setup.pyR      s   t   Ac           B   s   e  Z RS(    (   R	   R
   (    (    (    s?   /home/prologic/work/circuits/tests/core/test_component_setup.pyR      s   t   Bc           B   s)   e  Z e Z e d  d d ƒd „  ƒ Z RS(   t   prepare_unregistert   channelt   *c         C   s   | j  |  ƒ r t |  _ n  d  S(   N(   t
   in_subtreet   Truet   informed(   R   R   t   c(    (    s?   /home/prologic/work/circuits/tests/core/test_component_setup.pyt   _on_prepare_unregister   s    (   R	   R
   t   FalseR   R    R   (    (    (    s?   /home/prologic/work/circuits/tests/core/test_component_setup.pyR      s   t   Basec           B   s   e  Z d  Z RS(   t   base(   R	   R
   R   (    (    (    s?   /home/prologic/work/circuits/tests/core/test_component_setup.pyR   #   s   t   Cc           B   s   e  Z d  Z RS(   R   (   R	   R
   R   (    (    (    s?   /home/prologic/work/circuits/tests/core/test_component_setup.pyR   (   s   c          C   s™  t  ƒ  }  t ƒ  } | j |  ƒ | j } | j } | j } d } t ƒ  } | | | ƒ } | | k } | rÈt j d f | f d f | | f ƒ i	 t j	 | ƒ d 6d t
 j ƒ  k pÀ t j t ƒ rÒ t j	 t ƒ n d d 6t j	 | ƒ d 6t j	 | ƒ d 6d	 t
 j ƒ  k pt j | ƒ r)t j	 | ƒ n d	 d
 6t j	 | ƒ d 6t j	 | ƒ d 6d	 t
 j ƒ  k pnt j | ƒ r€t j	 | ƒ n d	 d 6t j	 | ƒ d 6}	 d d i |	 d 6}
 t t j |
 ƒ ƒ ‚ n  t } } } } } } } | j ƒ  x |  r|  j ƒ  qóW|  j } | } | r‹d d i t j	 | ƒ d 6d t
 j ƒ  k pVt j |  ƒ rht j	 |  ƒ n d d
 6} t t j | ƒ ƒ ‚ n  t } } d  S(   NR   t   ins¨   %(py2)s
{%(py2)s = %(py0)s.test
} in %(py15)s
{%(py15)s = %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py4)s._handlers
}.get
}(%(py10)s, %(py13)s
{%(py13)s = %(py11)s()
})
}t   py10t   sett   py11t   py2t   py13t   appt   py0t   py15t   py6t   py4t   py8t    s   assert %(py17)st   py17s1   assert not %(py2)s
{%(py2)s = %(py0)s._handlers
}t   m(   R   R   t   registerR   t	   _handlerst   getR   t
   @pytest_art   _call_reprcomparet	   _safereprt   @py_builtinst   localst   _should_repr_global_namet   AssertionErrort   _format_explanationt   Nonet
   unregistert   flush(   R'   R   t   @py_assert1t   @py_assert5t   @py_assert7t   @py_assert9t   @py_assert12t   @py_assert14t   @py_assert3t   @py_format16t   @py_format18t   @py_format4(    (    s?   /home/prologic/work/circuits/tests/core/test_component_setup.pyt
   test_basic-   s2    			 	 	  	    ÿ 1   
		   U  c          C   s´  t  ƒ  }  t ƒ  } t ƒ  } | j |  ƒ | j | ƒ | |  k } | st j d | f d | |  f ƒ i d 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  } | j } | |  k } | sðt j d | f d | |  f ƒ i t j	 | ƒ d 6d t j ƒ  k sv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  } } | j } | |  k } | sát j d | f d | |  f ƒ i t j	 | ƒ d 6d t j ƒ  k sgt j | ƒ rv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  } } | | k } | s¹t j d | f d | | f ƒ i d t j ƒ  k s?t j | ƒ rNt j	 | ƒ n d d 6d t j ƒ  k svt j | ƒ r…t j	 | ƒ n d d 6} d i | d	 6} t
 t j | ƒ ƒ ‚ n  d  } | j } | |  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 6d t j ƒ  k sct j |  ƒ rrt j	 |  ƒ n d d	 6} d! i | d 6} t
 t j | ƒ ƒ ‚ n  d  } } | j } | | 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 6d t j ƒ  k sTt j | ƒ rct j	 | ƒ n d d	 6} d$ i | d 6} t
 t j | ƒ ƒ ‚ n  d  } } | j ƒ  x |  rÁ|  j ƒ  q®W| j } | s>d d i t j	 | ƒ d 6d t j ƒ  k st j | ƒ rt j	 | ƒ n d d 6} t
 t j | ƒ ƒ ‚ n  d  } | |  k } | st j d% | f d& | |  f ƒ i d 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  } | j } | | 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 6d t j ƒ  k s¼t j | ƒ rËt j	 | ƒ n d d	 6} d* i | d 6} t
 t j | ƒ ƒ ‚ n  d  } } | j } | | k } | sðt j d+ | f d, | | f ƒ i t j	 | ƒ d 6d t j ƒ  k sv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  } } | | k } | sÈ	t j d. | f d/ | | f ƒ i d t j ƒ  k sN	t j | ƒ r]	t j	 | ƒ n d d 6d t j ƒ  k s…	t j | ƒ r”	t j	 | ƒ n d d 6} d0 i | d	 6} t
 t j | ƒ ƒ ‚ n  d  } | j } | | k } | sµ
t j d1 | f d2 | | f ƒ i t j	 | ƒ d 6d t j ƒ  k s;
t j | ƒ rJ
t j	 | ƒ n d d 6d t j ƒ  k sr
t j | ƒ r
t j	 | ƒ n d d	 6} d3 i | d 6} t
 t j | ƒ ƒ ‚ n  d  } } | j } | | k } | s¦t j d4 | f d5 | | f ƒ i t j	 | ƒ d 6d t j ƒ  k s,t j | ƒ r;t j	 | ƒ n d d 6d t j ƒ  k sct j | ƒ rrt j	 | ƒ n d d	 6} d6 i | d 6} t
 t j | ƒ ƒ ‚ n  d  } } d  S(7   NR   s   %(py0)s in %(py2)sR'   R   t   aR    R%   s   assert %(py4)sR#   s   ==s,   %(py2)s
{%(py2)s = %(py0)s.root
} == %(py4)ss   assert %(py6)sR"   s.   %(py2)s
{%(py2)s = %(py0)s.parent
} == %(py4)st   bs,   assert %(py2)s
{%(py2)s = %(py0)s.informed
}s   not ins   %(py0)s not in %(py2)s(   R   (   s   %(py0)s in %(py2)ss   assert %(py4)s(   s   ==(   s,   %(py2)s
{%(py2)s = %(py0)s.root
} == %(py4)ss   assert %(py6)s(   s   ==(   s.   %(py2)s
{%(py2)s = %(py0)s.parent
} == %(py4)ss   assert %(py6)s(   R   (   s   %(py0)s in %(py2)ss   assert %(py4)s(   s   ==(   s,   %(py2)s
{%(py2)s = %(py0)s.root
} == %(py4)ss   assert %(py6)s(   s   ==(   s.   %(py2)s
{%(py2)s = %(py0)s.parent
} == %(py4)ss   assert %(py6)s(   s   not in(   s   %(py0)s not in %(py2)ss   assert %(py4)s(   s   ==(   s,   %(py2)s
{%(py2)s = %(py0)s.root
} == %(py4)ss   assert %(py6)s(   s   ==(   s.   %(py2)s
{%(py2)s = %(py0)s.parent
} == %(py4)ss   assert %(py6)s(   R   (   s   %(py0)s in %(py2)ss   assert %(py4)s(   s   ==(   s,   %(py2)s
{%(py2)s = %(py0)s.root
} == %(py4)ss   assert %(py6)s(   s   ==(   s.   %(py2)s
{%(py2)s = %(py0)s.parent
} == %(py4)ss   assert %(py6)s(   R   R   R   R(   R+   R,   R.   R/   R0   R-   R1   R2   R3   t   roott   parentR4   R5   R   (   R'   RA   RB   R6   t   @py_format3t   @py_format5R<   t   @py_format7(    (    s?   /home/prologic/work/circuits/tests/core/test_component_setup.pyt   test_complex<   sº    			  “   	   £   
	   £   
  “   	   £   
	   £   

		  U    “   	   £   
	   £   
  “   	   £   
	   £   c          C   s¾  t  ƒ  }  |  j } 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 6t j | ƒ d 6} d i | d	 6} t t j	 | ƒ ƒ ‚ n  d  } } } t ƒ  } | j } d
 } | | k } | s¬t j d | f d | | f ƒ i t j | ƒ d 6d
 t j ƒ  k sYt j | ƒ rht j | ƒ n d
 d 6t j | ƒ d 6} d i | d	 6} t t j	 | ƒ ƒ ‚ n  d  } } } d  S(   NR   s   ==s/   %(py2)s
{%(py2)s = %(py0)s.channel
} == %(py5)sR   R    t   py5R%   s   assert %(py7)st   py7R   (   s   ==(   s/   %(py2)s
{%(py2)s = %(py0)s.channel
} == %(py5)ss   assert %(py7)s(   s   ==(   s/   %(py2)s
{%(py2)s = %(py0)s.channel
} == %(py5)ss   assert %(py7)s(   R   R   R+   R,   R-   R.   R/   R0   R1   R2   R3   R   (   R   R6   t   @py_assert4R<   t   @py_format6t   @py_format8R   (    (    s?   /home/prologic/work/circuits/tests/core/test_component_setup.pyt$   test_subclassing_with_custom_channelY   s$    		    |   		    |   (   t   __builtin__R.   t   _pytest.assertion.rewritet	   assertiont   rewriteR+   t   circuits.core.handlersR    t   circuitsR   R   R   R   R   R   R   R@   RH   RN   (    (    (    s?   /home/prologic/work/circuits/tests/core/test_component_setup.pyt   <module>   s     
		