
?T                 @   s   d  Z  d d l Z d d l j j Z d d l m Z Gd d   d e  Z	 Gd d   d e	  Z
 d d	   Z d
 d   Z d d   Z d d   Z d S)zTest Interface Query

Test the capabilities of querying a Component class or instance for it's
interface. That is it's event handlers it responds to.
    N)	Componentc               @   s   e  Z d  Z d d   Z d S)Basec             C   s   d  S)N )selfr   r   ?/home/prologic/work/circuits/tests/core/test_interface_query.pyfoo   s    zBase.fooN)__name__
__module____qualname__r   r   r   r   r   r      s   r   c               @   s   e  Z d  Z d d   Z d S)	SuperBasec             C   s   d  S)Nr   )r   r   r   r   bar   s    zSuperBase.barN)r   r	   r
   r   r   r   r   r   r      s   r   c              C   s   t  j }  d } |  |  } | s d d i t j |   d 6t j |  d 6d t j   k sl t j t   r{ t j t   n d d 6t j |  d 6} t t j |    n  t	 }  } } d  S)	Nr    zIassert %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.handles
}(%(py4)s)
}py2py6r   py0py4)
r   handles
@pytest_ar	_saferepr@py_builtinslocals_should_repr_global_nameAssertionError_format_explanationNone)@py_assert1@py_assert3@py_assert5@py_format7r   r   r   test_handles_base_class   s    	    u  r   c              C   s   t  j }  d } d } |  | |  } | s d d i t j |   d 6t j |  d 6t j |  d 6d t j   k s t j t   r t j t   n d d	 6t j |  d
 6} t t j |    n  t	 }  } } } d  S)Nr   r   r   zRassert %(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.handles
}(%(py4)s, %(py6)s)
}r   r   py8r   r   r   )
r   r   r   r   r   r   r   r   r   r   )r   r   r   @py_assert7@py_format9r   r   r   test_handles_super_base_class   s    	       r#   c              C   s   t    }  |  j } d } | |  } | s d d i t j |  d 6t j |  d 6d t j   k su t j |   r t j |   n d d 6t j |  d 6} t t j |    n  t	 } } } d  S)	Nr   r   zIassert %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.handles
}(%(py4)s)
}r   r   baser   r   )
r   r   r   r   r   r   r   r   r   r   )r$   r   r   r   r   r   r   r   test_handles_base_instance!   s    		    u  r%   c              C   s   t    }  |  j } d } d } | | |  } | s d d i t j |  d 6t j |  d 6t j |  d 6d t j   k s t j |   r t j |   n d d	 6t j |  d
 6} t t j |    n  t	 } } } } d  S)Nr   r   r   zRassert %(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.handles
}(%(py4)s, %(py6)s)
}r   r   r    	superbaser   r   )
r   r   r   r   r   r   r   r   r   r   )r&   r   r   r   r!   r"   r   r   r    test_handles_super_base_instance&   s    		       r'   )__doc__builtinsr   _pytest.assertion.rewrite	assertionrewriter   circuitsr   r   r   r   r#   r%   r'   r   r   r   r   <module>   s     