
    \d6                     b    d Z ddlmZ  G d dej                  Z G d dej                  ZdS )z3
Interfaces for Trial.

Maintainer: Jonathan Lange
    Nc                   P    e Zd ZdZ ej        d          Zd Zd Zd Z	d Z
d ZdS )		ITestCasezU
    The interface that a test case must implement in order to be used in Trial.
    z7The exception class that is raised by failed assertionsc                     dS )zQ
        Run the test. Should always do exactly the same thing as run().
        N results    4lib/python3.11/site-packages/twisted/trial/itrial.py__call__zITestCase.__call__             c                      dS )zJ
        Return the number of tests in this test case. Usually 1.
        Nr   r   r   r	   countTestCaseszITestCase.countTestCases   r   r   c                      dS )zk
        Return a unique identifier for the test, usually the fully-qualified
        Python name.
        Nr   r   r   r	   idzITestCase.id!   r   r   c                     dS )zj
        Run the test, storing the results in C{result}.

        @param result: A L{TestResult}.
        Nr   r   s    r	   runzITestCase.run'   r   r   c                      dS )z9
        Return a short description of the test.
        Nr   r   r   r	   shortDescriptionzITestCase.shortDescription.   r   r   N)__name__
__module____qualname____doc__zi	AttributefailureExceptionr
   r   r   r   r   r   r   r	   r   r      s          $r|A   
  
        r   r   c                       e Zd ZdZ ej        d          Z ej        d          Zd Zd Z	d Z
d Zd Zdd
ZddZd Zd Zd Zd	S )	IReporterz6
    I report results from a run of a test suite.
    zHA boolean indicating that this reporter would like the test run to stop.zd
        The number of tests that seem to have been run according to this
        reporter.
        c                     dS )z
        Report the beginning of a run of a single test method.

        @param method: an object that is adaptable to ITestMethod
        Nr   methods    r	   	startTestzIReporter.startTestC   r   r   c                     dS )z~
        Report the status of a single test method

        @param method: an object that is adaptable to ITestMethod
        Nr   r   s    r	   stopTestzIReporter.stopTestJ   r   r   c                     dS )z*
        Record that test passed.
        Nr   )tests    r	   
addSuccesszIReporter.addSuccessQ   r   r   c                     dS )aI  
        Record that a test has raised an unexpected exception.

        @param test: The test that has raised an error.
        @param error: The error that the test raised. It will either be a
            three-tuple in the style of C{sys.exc_info()} or a
            L{Failure<twisted.python.failure.Failure>} object.
        Nr   )r%   errors     r	   addErrorzIReporter.addErrorV   r   r   c                     dS )aH  
        Record that a test has failed with the given failure.

        @param test: The test that has failed.
        @param failure: The failure that the test failed with. It will
            either be a three-tuple in the style of C{sys.exc_info()}
            or a L{Failure<twisted.python.failure.Failure>} object.
        Nr   )r%   failures     r	   
addFailurezIReporter.addFailure`   r   r   Nc                     dS )a  
        Record that the given test failed, and was expected to do so.

        In Twisted 15.5 and prior, C{todo} was a mandatory parameter.

        @type test: L{unittest.TestCase}
        @param test: The test which this is about.
        @type failure: L{failure.Failure}
        @param failure: The error which this test failed with.
        @type todo: L{unittest.Todo}
        @param todo: The reason for the test's TODO status. If L{None}, a
            generic reason is used.
        Nr   )r%   r+   todos      r	   addExpectedFailurezIReporter.addExpectedFailurej   r   r   c                     dS )a  
        Record that the given test failed, and was expected to do so.

        In Twisted 15.5 and prior, C{todo} was a mandatory parameter.

        @type test: L{unittest.TestCase}
        @param test: The test which this is about.
        @type todo: L{unittest.Todo}
        @param todo: The reason for the test's TODO status. If L{None}, a
            generic reason is used.
        Nr   )r%   r.   s     r	   addUnexpectedSuccesszIReporter.addUnexpectedSuccessy   r   r   c                     dS )z
        Record that a test has been skipped for the given reason.

        @param test: The test that has been skipped.
        @param reason: An object that the test case has specified as the reason
            for skipping the test.
        Nr   )r%   reasons     r	   addSkipzIReporter.addSkip   r   r   c                      dS )z
        Return a boolean indicating whether all test results that were reported
        to this reporter were successful or not.
        Nr   r   r   r	   wasSuccessfulzIReporter.wasSuccessful   r   r   c                      dS )a1  
        Called when the test run is complete.

        This gives the result object an opportunity to display a summary of
        information to the user. Once you have called C{done} on an
        L{IReporter} object, you should assume that the L{IReporter} object is
        no longer usable.
        Nr   r   r   r	   donezIReporter.done   r   r   )N)r   r   r   r   r   r   
shouldStoptestsRunr!   r#   r&   r)   r,   r/   r1   r4   r6   r8   r   r   r	   r   r   4   s          U J r|	 H      
                  r   r   )r   zope.interface	interfacer   	Interfacer   r   r   r   r	   <module>r>      s          # # # # # # # #Li i i i i i i i i ir   