
    daf                         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 G d d      Z	y)    Nc                       e Zd ZdZd Zd Zy)TestEqualityUsed as a mixin for TestCasec                 t    | j                   D ])  \  }}| j                  ||       | j                  ||       + y N)eq_pairsassertEqualselfobj_1obj_2s      5/root/Python-3.12.4/Lib/test/test_unittest/support.pytest_eqzTestEquality.test_eq   s9     MM 	+LE5UE*UE*	+    c                 t    | j                   D ])  \  }}| j                  ||       | j                  ||       + y r   )ne_pairsassertNotEqualr
   s      r   test_nezTestEquality.test_ne   s9     MM 	.LE5u-u-	.r   N)__name__
__module____qualname____doc__r   r    r   r   r   r      s    &+.r   r   c                       e Zd ZdZd Zy)TestHashingr   c           
         | j                   D ]4  \  }}	 t        |      t        |      k(  s| j                  |d|d       6 | j                  D ]4  \  }}	 t        |      t        |      k(  r| j                  |d|d       6 y # t        $ r$}| j                  d|d|d|       Y d }~d }~ww xY w# t        $ r$}| j                  d|d|d|       Y d }~d }~ww xY w)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   s     MM 	OLE5OE{d5k1IIueLM	O !MM 	OLE5O;$u+-II$e- .	O  O		UE1MNNO  O		UE1MNNOs/   .B.B8	B5B00B58	C%C  C%N)r   r   r   r   r!   r   r   r   r   r      s    &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                 0    || _         t        | 	          y r   )_eventssuper__init__)r   log	__class__s     r   r'   z_BaseLoggingResult.__init__)   s    r   c                 Z    | j                   j                  d       t        |   |       y )N	startTest)r%   appendr&   r+   r   testr)   s     r   r+   z_BaseLoggingResult.startTest-   s"    K($r   c                 X    | j                   j                  d       t        |           y )NstartTestRun)r%   r,   r&   r0   r   r)   s    r   r0   z_BaseLoggingResult.startTestRun1   s     N+r   c                 Z    | j                   j                  d       t        |   |       y )NstopTest)r%   r,   r&   r3   r-   s     r   r3   z_BaseLoggingResult.stopTest5   s"    J'r   c                 X    | j                   j                  d       t        |           y )NstopTestRun)r%   r,   r&   r5   r1   s    r   r5   z_BaseLoggingResult.stopTestRun9   s     M*r   c                 T    | j                   j                  d       t        |   |  y )N
addFailure)r%   r,   r&   r7   r   argsr)   s     r   r7   z_BaseLoggingResult.addFailure=   "    L)D!r   c                 T    | j                   j                  d       t        |   |  y )N
addSuccess)r%   r,   r&   r<   r8   s     r   r<   z_BaseLoggingResult.addSuccessA   r:   r   c                 T    | j                   j                  d       t        |   |  y )NaddError)r%   r,   r&   r>   r8   s     r   r>   z_BaseLoggingResult.addErrorE   s"    J'$r   c                 T    | j                   j                  d       t        |   |  y )NaddSkip)r%   r,   r&   r@   r8   s     r   r@   z_BaseLoggingResult.addSkipI   s!    I&r   c                 T    | j                   j                  d       t        |   |  y )NaddExpectedFailure)r%   r,   r&   rB   r8   s     r   rB   z%_BaseLoggingResult.addExpectedFailureM   s#    01"D)r   c                 T    | j                   j                  d       t        |   |  y )NaddUnexpectedSuccess)r%   r,   r&   rD   r8   s     r   rD   z'_BaseLoggingResult.addUnexpectedSuccessQ   s#    23$d+r   )r   r   r   r'   r+   r0   r3   r5   r7   r<   r>   r@   rB   rD   __classcell__r)   s   @r   r#   r#   (   s?     "" *, ,r   r#   c                        e Zd ZdZed        Zy)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   s    
  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                   j                  d       n| j                   j                  d       t        |   |||       y )NaddSubTestSuccessaddSubTestFailure)r%   r,   r&   rL   )r   r.   subtesterrr)   s       r   rL   zLoggingResult.addSubTestf   s?    ;LL 34LL 344#.r   )r   r   r   r   rL   rE   rF   s   @r   rO   rO   a   s    / /r   rO   c                   :    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
y	)
#ResultWithNoStartTestRunStopTestRunz?An object honouring TestResult before startTestRun/stopTestRun.c                 f    g | _         g | _        d| _        g | _        g | _        g | _        d| _        y )Nr   F)failureserrorstestsRunskippedexpectedFailuresunexpectedSuccesses
shouldStoprK   s    r   r'   z,ResultWithNoStartTestRunStopTestRun.__init__q   s5     "#% r   c                      y r   r   r   r.   s     r   r+   z-ResultWithNoStartTestRunStopTestRun.startTestz       r   c                      y r   r   r`   s     r   r3   z,ResultWithNoStartTestRunStopTestRun.stopTest}   ra   r   c                      y r   r   r`   s     r   r>   z,ResultWithNoStartTestRunStopTestRun.addError   ra   r   c                      y r   r   r`   s     r   r7   z.ResultWithNoStartTestRunStopTestRun.addFailure   ra   r   c                      y r   r   r`   s     r   r<   z.ResultWithNoStartTestRunStopTestRun.addSuccess   ra   r   c                      y)NTr   rK   s    r   wasSuccessfulz1ResultWithNoStartTestRunStopTestRun.wasSuccessful   s    r   N)r   r   r   r   r'   r+   r3   r>   r7   r<   rg   r   r   r   rV   rV   n   s(    I r   rV   c                   $    e Zd Zd Zd Zd Zd Zy)BufferedWriterc                      d| _         d| _        y N resultbufferrK   s    r   r'   zBufferedWriter.__init__   s    r   c                 .    | xj                   |z  c_         y r   )ro   )r   args     r   writezBufferedWriter.write   s    sr   c                 P    | xj                   | j                  z  c_         d| _        y rk   rm   rK   s    r   flushzBufferedWriter.flush   s    t{{"r   c                     | j                   S r   )rn   rK   s    r   getvaluezBufferedWriter.getvalue   s    {{r   N)r   r   r   r'   rr   rt   rv   r   r   r   ri   ri      s    r   ri   )
unittestobjectr   r   
TestResultr#   rH   rO   rV   ri   r   r   r   <module>rz      se    .6 .O& O*+,,, +,\, 
/& 
/& > r   