B
    È S]6
  ã               @   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.0z1.2)r   ÚassertEqualÚversionZ
prereleaseÚstr)Úselfr   © r   ú-lib/python3.7/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}xt|D ]l\}}}yt|ƒ t|ƒ¡}W n0 t k
r–   |t kr‚wFntd||f ƒ‚Y nX |  ||d||||f ¡ qFW d S )N)z1.5.1z1.5.2b2éÿÿÿÿÚ161z3.10a)z8.02z8.02r   z3.4jz
1996.07.12z3.2.pl0z3.1.1.6Ú2g6Ú11g)z0.9z2.2r   )z1.2.1z1.2r   )z1.1z1.2.2r   )z1.2z1.1r   )z1.2.1z1.2.2r   )z1.2.2z1.2r   )z1.2z1.2.2r   )z0.4.0z0.4r   z1.13++z5.5.kwz&cmp(%s, %s) shouldn't raise ValueErrorz cmp(%s, %s) should be %s, got %s)Ú
ValueErrorr   Ú_cmpÚAssertionErrorr
   )r   ÚversionsÚv1Úv2ÚwantedÚresr   r   r   Útest_cmp_strict   s4    zVersionTestCase.test_cmp_strictc          
   C   sH   d}x>|D ]6\}}}t |ƒ t |ƒ¡}|  ||d||||f ¡ q
W d S )N))z1.5.1z1.5.2b2r   )r   z3.10ar   )z8.02z8.02r   )z3.4jz
1996.07.12r   )z3.2.pl0z3.1.1.6r   )r   r   r   )z0.960923z	2.2beta29r   )z1.13++z5.5.kwr   z cmp(%s, %s) should be %s, got %s)r   r   r
   )r   r   r   r   r   r   r   r   r   Útest_cmp2   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_suiteC   s    r#   Ú__main__)Ú__doc__r"   Zdistutils.versionr   r   Ztest.supportr   ZTestCaser   r#   r   r   r   r   r   Ú<module>   s   <