ó
Jò=Gc           @   se   d  d l  m Z d  d l m Z m Z e d ƒ Z d e f d „  ƒ  YZ d e j	 f d „  ƒ  YZ
 d S(	   iÿÿÿÿ(   t   unittest(   t	   TestSuitet
   suiteVisitR    t   MockVisitorc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   g  |  _  d  S(   N(   t   calls(   t   self(    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyt   __init__	   s    c         C   s   |  j  j | ƒ d  S(   N(   R   t   append(   R   t   testCase(    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyt   __call__   s    (   t   __name__t
   __module__R   R	   (    (    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyR      s   	t   TestTestVisitorc           B   sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   t  ƒ  |  _ d  S(   N(   R   t   visitor(   R   (    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyt   setUp   s    c         C   s9   t  d ƒ } | j |  j ƒ |  j |  j j | g ƒ d S(   sB   
        Test that C{visit} works for a single test case.
        t   test_visitCaseN(   R   t   visitR   t   assertEqualR   (   R   R   (    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyR      s    c         C   sN   t  d ƒ t  d ƒ g } t | ƒ } | j |  j ƒ |  j |  j j | ƒ d S(   s?   
        Test that C{visit} hits all tests in a suite.
        R   t   test_visitSuiteN(   R   R   R   R   R   R   (   R   t   testst	   testSuite(    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyR       s
    	c         C   s-   t  ƒ  j |  j ƒ |  j |  j j g  ƒ d S(   sD   
        Test that C{visit} on an empty suite hits nothing.
        N(   R   R   R   R   R   (   R   (    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyt   test_visitEmptySuite+   s    c         C   sj   t  d ƒ t  d ƒ g } t g  | D] } t | g ƒ ^ q" ƒ } | j |  j ƒ |  j |  j j | ƒ d S(   s=   
        Test that C{visit} recurses through suites.
        R   R   N(   R   R   R   R   R   R   (   R   R   t   testR   (    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyt   test_visitNestedSuite3   s
    	(c         C   sK   t  d ƒ } t j | g ƒ } t | |  j ƒ |  j |  j j | g ƒ d S(   sG   
        Test that C{suiteVisit} visits stdlib unittest suites
        t   test_visitPyunitSuiteN(   R   t   pyunitR   R   R   R   R   (   R   R   t   suite(    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyR   >   s    c         C   sz   d t  j f d „  ƒ  Y} | d ƒ } t | g ƒ j |  j ƒ |  j g  |  j j D] } | j ƒ  ^ qQ | j ƒ  g ƒ d S(   sG   
        Test that a stdlib test case in a suite gets visited.
        t
   PyunitCasec           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   (    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyt   test_fooM   s    (   R
   R   R   (    (    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyR   L   s   R   N(   R   t   TestCaseR   R   R   R   R   t   id(   R   R   R   t   call(    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyt   test_visitPyunitCaseH   s
    (	   R
   R   R   R   R   R   R   R   R    (    (    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyR      s   							
N(   t   twisted.trialR    t   twisted.trial.runnerR   R   t
   __import__R   t   objectR   R   R   (    (    (    sH   /usr/lib/python2.7/dist-packages/twisted/trial/test/test_test_visitor.pyt   <module>   s   
