o
    JAfz  ã                   @   sd   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r0ee	ƒ ƒ dS 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   ú3/usr/lib/python3.10/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 n t yG   |t u r?Y q"td||f ƒ‚w |  ||d||||f ¡ t|ƒ |¡}|  ||d||||f ¡ t|ƒ tƒ ¡}|  |td|||f ¡ q"d 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   sX   òþü
ÿÿ
ÿÿÿÿîzVersionTestCase.test_cmp_strictc              
   C   s”   d}|D ]C\}}}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ÿ