B
    v9a¨  ã               @   sn   d dl Z G dd„ deƒZG dd„ deƒZG dd„ de jƒZG dd	„ d	eƒZG d
d„ deƒZG dd„ deƒZdS )é    Nc               @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestEqualityc             C   s0   x*| j D ] \}}|  ||¡ |  ||¡ qW d S )N)Úeq_pairsZassertEqual)ÚselfÚobj_1Úobj_2© r   ú/usr/lib/python3.7/support.pyÚtest_eq   s    zTestEquality.test_eqc             C   s0   x*| j D ] \}}|  ||¡ |  ||¡ qW d S )N)Úne_pairsZassertNotEqual)r   r   r   r   r   r   Útest_ne   s    zTestEquality.test_neN)Ú__name__Ú
__module__Ú__qualname__r	   r   r   r   r   r   r      s   r   c               @   s   e Zd Zdd„ ZdS )ÚTestHashingc             C   sè   xp| j D ]f\}}y&t|ƒt|ƒks4|  d||f ¡ W q tk
rl } z|  d|||f ¡ W d d }~X Y qX qW xp| jD ]f\}}y&t|ƒt|ƒkr¦|  d||f ¡ W qz tk
rÞ } z|  d|||f ¡ W d d }~X Y qzX qzW d S )Nz%r and %r do not hash equalzProblem hashing %r and %r: %sz#%s and %s hash equal, but shouldn'tzProblem hashing %s and %s: %s)r   ÚhashZfailÚ	Exceptionr
   )r   r   r   Úer   r   r   Ú	test_hash   s    *zTestHashing.test_hashN)r   r   r   r   r   r   r   r   r      s   r   c                   s”   e Zd Z‡ fdd„Z‡ fdd„Z‡ fdd„Z‡ fdd„Z‡ fd	d
„Z‡ fdd„Z‡ fdd„Z	‡ fdd„Z
‡ fdd„Z‡ fdd„Z‡ fdd„Z‡  ZS )Ú_BaseLoggingResultc                s   || _ tƒ  ¡  d S )N)Ú_eventsÚsuperÚ__init__)r   Úlog)Ú	__class__r   r   r   )   s    z_BaseLoggingResult.__init__c                s   | j  d¡ tƒ  |¡ d S )NÚ	startTest)r   Úappendr   r   )r   Útest)r   r   r   r   -   s    z_BaseLoggingResult.startTestc                s   | j  d¡ tƒ  ¡  d S )NÚstartTestRun)r   r   r   r   )r   )r   r   r   r   1   s    z_BaseLoggingResult.startTestRunc                s   | j  d¡ tƒ  |¡ d S )NÚstopTest)r   r   r   r   )r   r   )r   r   r   r   5   s    z_BaseLoggingResult.stopTestc                s   | j  d¡ tƒ  ¡  d S )NÚstopTestRun)r   r   r   r   )r   )r   r   r   r   9   s    z_BaseLoggingResult.stopTestRunc                s   | j  d¡ tƒ j|Ž  d S )NÚ
addFailure)r   r   r   r    )r   Úargs)r   r   r   r    =   s    z_BaseLoggingResult.addFailurec                s   | j  d¡ tƒ j|Ž  d S )NÚ
addSuccess)r   r   r   r"   )r   r!   )r   r   r   r"   A   s    z_BaseLoggingResult.addSuccessc                s   | j  d¡ tƒ j|Ž  d S )NÚaddError)r   r   r   r#   )r   r!   )r   r   r   r#   E   s    z_BaseLoggingResult.addErrorc                s   | j  d¡ tƒ j|Ž  d S )NÚaddSkip)r   r   r   r$   )r   r!   )r   r   r   r$   I   s    z_BaseLoggingResult.addSkipc                s   | j  d¡ tƒ j|Ž  d S )NÚaddExpectedFailure)r   r   r   r%   )r   r!   )r   r   r   r%   M   s    z%_BaseLoggingResult.addExpectedFailurec                s   | j  d¡ tƒ j|Ž  d S )NÚaddUnexpectedSuccess)r   r   r   r&   )r   r!   )r   r   r   r&   Q   s    z'_BaseLoggingResult.addUnexpectedSuccess)r   r   r   r   r   r   r   r   r    r"   r#   r$   r%   r&   Ú__classcell__r   r   )r   r   r   (   s   r   c               @   s   e Zd Zedd„ ƒZdS )ÚLegacyLoggingResultc             C   s   t ‚d S )N)ÚAttributeError)r   r   r   r   Ú
addSubTest\   s    zLegacyLoggingResult.addSubTestN)r   r   r   Úpropertyr*   r   r   r   r   r(   V   s   r(   c                   s   e Zd Z‡ fdd„Z‡  ZS )ÚLoggingResultc                s6   |d kr| j  d¡ n| j  d¡ tƒ  |||¡ d S )NZaddSubTestSuccessZaddSubTestFailure)r   r   r   r*   )r   r   ZsubtestÚerr)r   r   r   r*   f   s    zLoggingResult.addSubTest)r   r   r   r*   r'   r   r   )r   r   r,   a   s   r,   c               @   sD   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dS )Ú#ResultWithNoStartTestRunStopTestRunc             C   s.   g | _ g | _d| _g | _g | _g | _d| _d S )Nr   F)ZfailuresÚerrorsZtestsRunZskippedZexpectedFailuresZunexpectedSuccessesZ
shouldStop)r   r   r   r   r   q   s    z,ResultWithNoStartTestRunStopTestRun.__init__c             C   s   d S )Nr   )r   r   r   r   r   r   z   s    z-ResultWithNoStartTestRunStopTestRun.startTestc             C   s   d S )Nr   )r   r   r   r   r   r   }   s    z,ResultWithNoStartTestRunStopTestRun.stopTestc             C   s   d S )Nr   )r   r   r   r   r   r#   €   s    z,ResultWithNoStartTestRunStopTestRun.addErrorc             C   s   d S )Nr   )r   r   r   r   r   r    ƒ   s    z.ResultWithNoStartTestRunStopTestRun.addFailurec             C   s   d S )Nr   )r   r   r   r   r   r"   †   s    z.ResultWithNoStartTestRunStopTestRun.addSuccessc             C   s   dS )NTr   )r   r   r   r   ÚwasSuccessful‰   s    z1ResultWithNoStartTestRunStopTestRun.wasSuccessfulN)
r   r   r   r   r   r   r#   r    r"   r0   r   r   r   r   r.   n   s   	r.   )	ZunittestÚobjectr   r   Z
TestResultr   r(   r,   r.   r   r   r   r   Ú<module>   s   .