
    =e                         d dl Z  G d de          Z G d de          Z G d de j                  Z G d d	e          Z G d
 de          Z G d de          ZdS )    Nc                       e Zd ZdZd Zd ZdS )TestEqualityUsed as a mixin for TestCasec                 x    | j         D ]1\  }}|                     ||           |                     ||           2d S N)eq_pairsassertEqualselfobj_1obj_2s      ,/usr/lib/python3.11/unittest/test/support.pytest_eqzTestEquality.test_eq   sP     M 	+ 	+LE5UE***UE****	+ 	+    c                 x    | j         D ]1\  }}|                     ||           |                     ||           2d S r   )ne_pairsassertNotEqualr
   s      r   test_nezTestEquality.test_ne   sP     M 	. 	.LE5u---u----	. 	.r   N)__name__
__module____qualname____doc__r   r    r   r   r   r      s8        &&+ + +. . . . .r   r   c                       e Zd ZdZd ZdS )TestHashingr   c           
         | j         D ]v\  }}	 t          |          t          |          k    s|                     |d|d           B# t          $ r(}|                     d|d|d|           Y d }~od }~ww xY w| j        D ]v\  }}	 t          |          t          |          k    r|                     |d|d           B# t          $ r(}|                     d|d|d|           Y d }~od }~ww xY wd S )Nz and z do not hash equalzProblem hashing z: z hash equal, but shouldn't)r   hashfail	Exceptionr   )r   r   r   es       r   	test_hashzTestHashing.test_hash   so    M 	O 	OLE5OE{{d5kk11IIuuueeeLMMM O O O			UUUEEE11MNNNNNNNNO !M 	O 	OLE5O;;$u++--II$uueee- . . . O O O			UUUEEE11MNNNNNNNNO	O 	Os/   ;A


A<A77A<;C
C:C55C:N)r   r   r   r   r!   r   r   r   r   r      s.        &&O O O O Or   r   c                        e Zd Z fdZ fdZ fdZ fdZ fdZ fdZ fdZ	 fdZ
 fd	Z fd
Z fdZ xZS )_BaseLoggingResultc                 V    || _         t                                                       d S r   )_eventssuper__init__)r   log	__class__s     r   r'   z_BaseLoggingResult.__init__)   s&    r   c                 ~    | j                             d           t                                          |           d S )N	startTest)r%   appendr&   r+   r   testr)   s     r   r+   z_BaseLoggingResult.startTest-   s7    K((($r   c                 |    | j                             d           t                                                       d S )NstartTestRun)r%   r,   r&   r0   r   r)   s    r   r0   z_BaseLoggingResult.startTestRun1   s5    N+++r   c                 ~    | j                             d           t                                          |           d S )NstopTest)r%   r,   r&   r3   r-   s     r   r3   z_BaseLoggingResult.stopTest5   s7    J'''r   c                 |    | j                             d           t                                                       d S )NstopTestRun)r%   r,   r&   r5   r1   s    r   r5   z_BaseLoggingResult.stopTestRun9   s5    M***r   c                 h    | j                             d            t                      j        |  d S )N
addFailure)r%   r,   r&   r7   r   argsr)   s     r   r7   z_BaseLoggingResult.addFailure=   3    L)))D!!!!r   c                 h    | j                             d            t                      j        |  d S )N
addSuccess)r%   r,   r&   r<   r8   s     r   r<   z_BaseLoggingResult.addSuccessA   r:   r   c                 h    | j                             d            t                      j        |  d S )NaddError)r%   r,   r&   r>   r8   s     r   r>   z_BaseLoggingResult.addErrorE   s3    J'''$r   c                 h    | j                             d            t                      j        |  d S )NaddSkip)r%   r,   r&   r@   r8   s     r   r@   z_BaseLoggingResult.addSkipI   s2    I&&&r   c                 h    | j                             d            t                      j        |  d S )NaddExpectedFailure)r%   r,   r&   rB   r8   s     r   rB   z%_BaseLoggingResult.addExpectedFailureM   s4    0111""D))))r   c                 h    | j                             d            t                      j        |  d S )NaddUnexpectedSuccess)r%   r,   r&   rD   r8   s     r   rD   z'_BaseLoggingResult.addUnexpectedSuccessQ   s4    2333$$d++++r   )r   r   r   r'   r+   r0   r3   r5   r7   r<   r>   r@   rB   rD   __classcell__r)   s   @r   r#   r#   (   s2                                " " " " "" " " " "             * * * * *, , , , , , , , ,r   r#   c                   (    e Zd ZdZed             ZdS )LegacyLoggingResultzo
    A legacy TestResult implementation, without an addSubTest method,
    which records its method calls.
    c                     t           r   )AttributeErrorr   s    r   
addSubTestzLegacyLoggingResult.addSubTest\   s    r   N)r   r   r   r   propertyrL   r   r   r   rH   rH   V   s9         
   X  r   rH   c                   "     e Zd ZdZ fdZ xZS )LoggingResultzE
    A TestResult implementation which records its method calls.
    c                     || j                             d           n| j                             d           t                                          |||           d S )NaddSubTestSuccessaddSubTestFailure)r%   r,   r&   rL   )r   r.   subtesterrr)   s       r   rL   zLoggingResult.addSubTestf   s[    ;L 34444L 34444#.....r   )r   r   r   r   rL   rE   rF   s   @r   rO   rO   a   sB         / / / / / / / / /r   rO   c                   <    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	S )
#ResultWithNoStartTestRunStopTestRunz?An object honouring TestResult before startTestRun/stopTestRun.c                 h    g | _         g | _        d| _        g | _        g | _        g | _        d| _        d S )Nr   F)failureserrorstestsRunskippedexpectedFailuresunexpectedSuccesses
shouldStoprK   s    r   r'   z,ResultWithNoStartTestRunStopTestRun.__init__q   s9     "#% r   c                     d S r   r   r   r.   s     r   r+   z-ResultWithNoStartTestRunStopTestRun.startTestz       r   c                     d S r   r   r`   s     r   r3   z,ResultWithNoStartTestRunStopTestRun.stopTest}   ra   r   c                     d S r   r   r`   s     r   r>   z,ResultWithNoStartTestRunStopTestRun.addError   ra   r   c                     d S r   r   r`   s     r   r7   z.ResultWithNoStartTestRunStopTestRun.addFailure   ra   r   c                     d S r   r   r`   s     r   r<   z.ResultWithNoStartTestRunStopTestRun.addSuccess   ra   r   c                     dS )NTr   rK   s    r   wasSuccessfulz1ResultWithNoStartTestRunStopTestRun.wasSuccessful   s    tr   N)r   r   r   r   r'   r+   r3   r>   r7   r<   rg   r   r   r   rV   rV   n   s        II                   r   rV   )	unittestobjectr   r   
TestResultr#   rH   rO   rV   r   r   r   <module>rk      s"   . . . . .6 . . .O O O O O& O O O*+, +, +, +, +,, +, +, +,\    ,   
/ 
/ 
/ 
/ 
/& 
/ 
/ 
/    &     r   