a
    åzez  ã                   @   s`   d Z ddlZddlmZ ddlmZ ddlmZ G dd„ dejƒZdd	„ Z	e
d
kr\ee	ƒ ƒ dS )zTests for distutils.version.é    N)ÚLooseVersion)ÚStrictVersion)Úrun_unittestc                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚVersionTestCasec                 C   sP   t dƒ}|  |jd¡ |  |jd¡ |  t|ƒd¡ t dƒ}|  t|ƒd¡ d S )Nz1.2.3a1)é   é   é   )Úar   z1.2.0ú1.2)r   ÚassertEqualÚversionZ
prereleaseÚstr)Úselfr   © r   ú2/usr/lib/python3.9/distutils/tests/test_version.pyÚtest_prerelease	   s    zVersionTestCase.test_prereleasec                 C   s  dddt fdddt fddt fd	d
t fddddddddddt ff}|D ]¼\}}}zt|ƒ t|ƒ¡}W n0 t y”   |t u r€Y qDntd||f ƒ‚Y n0 |  ||d||||f ¡ t|ƒ |¡}|  ||d||||f ¡ t|ƒ tƒ ¡}|  |td|||f ¡ qDd S )N©z1.5.1z1.5.2b2éÿÿÿÿÚ161ú3.10a©ú8.02r   r   ú3.4jú
1996.07.12ú3.2.pl0ú3.1.1.6Ú2g6Ú11g)z0.9z2.2r   )ú1.2.1r
   r   )ú1.1ú1.2.2r   )r
   r   r   )r   r    r   )r    r
   r   )r
   r    r   )z0.4.0z0.4r   ú1.13++ú5.5.kwz&cmp(%s, %s) shouldn't raise ValueErrorú cmp(%s, %s) should be %s, got %sú,cmp(%s, %s) should be NotImplemented, got %s)Ú
ValueErrorr   Ú_cmpÚAssertionErrorr   ÚobjectÚassertIsÚNotImplemented©r   ZversionsZv1Zv2ZwantedÚresr   r   r   Útest_cmp_strict   sT    òþ
ÿÿ
ÿÿÿÿzVersionTestCase.test_cmp_strictc              
   C   s”   d}|D ]†\}}}t |ƒ t |ƒ¡}|  ||d||||f ¡ t |ƒ |¡}|  ||d||||f ¡ t |ƒ tƒ ¡}|  |td|||f ¡ qd S )N)r   )r   r   r   r   )r   r   r   )r   r   r   )r   r   r   )z0.960923z	2.2beta29r   )r!   r"   r   r#   r$   )r   r&   r   r(   r)   r*   r+   r   r   r   Útest_cmp:   s(    

ÿÿ
ÿÿÿÿzVersionTestCase.test_cmpN)Ú__name__Ú
__module__Ú__qualname__r   r-   r.   r   r   r   r   r      s   	(r   c                   C   s
   t  t¡S )N)ÚunittestZ	makeSuiter   r   r   r   r   Ú
test_suiteS   s    r3   Ú__main__)Ú__doc__r2   Zdistutils.versionr   r   Ztest.supportr   ZTestCaser   r3   r/   r   r   r   r   Ú<module>   s   L