ó
£„öUc           @   se   d  d l  Z  d  d l m Z d  d l m Z d  d l m Z e j j Z d e j	 f d „  ƒ  YZ
 d S(   iÿÿÿÿN(   t   matchers(   t   base(   t   versiont   TestSemanticVersionc           B   s  e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s:  d d d d d d d d d	 d
 d d d d d d g } x9 | D]1 } t  j j | ƒ } |  j | t j | ƒ ƒ q= WxÁ t j | d ƒ D]­ \ } } | j | ƒ } | j | ƒ } | | k  rÐ t j	 } t j
 }	 n t j
 } t j	 }	 t  j j | ƒ }
 t  j j | ƒ } |  j |
 | | ƒ ƒ |  j | |	 |
 ƒ ƒ q… Wd  S(   Ns
   1.2.3.dev6s
   1.2.3.dev7s   1.2.3.a4.dev12s   1.2.3.a4.dev13s   1.2.3.a4s   1.2.3.a5.dev1s   1.2.3.a5s   1.2.3.b3.dev1s   1.2.3.b3s   1.2.3.rc2.dev1s	   1.2.3.rc2s   1.2.3.rc3.dev1s   1.2.3s   1.2.4s   1.3.3s   2.2.3i   (   R   t   SemanticVersiont   from_pip_stringt
   expectThatR    t   Equalst	   itertoolst   combinationst   indext   LessThant   GreaterThan(   t   selft   ordered_versionst   vt   svt   leftt   rightt   l_post   r_post   m1t   m2t   left_svt   right_sv(    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_ordering   s>    				c         C   sA   t  j d d d d d d d ƒ} t d ƒ } |  j | | ƒ d  S(   Ni   i   i    t   prerelease_typet   rct
   prereleases   1.2.0rc1(   R   R   R   t   assertEqual(   R   t   expectedt   parsed(    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt!   test_from_pip_string_legacy_alphaA   s    c         C   s¦   t  j d d d d d ƒ} t d ƒ } |  j | t j | ƒ ƒ t  j d d d d d d d	 ƒ} t d
 ƒ } |  j | t j | ƒ ƒ |  j d „  t j t ƒ ƒ d  S(   Ni   i   i   t	   dev_counti   s   1.2.3.post5i   t   ai   s   1.2.3.0a4.post6c           S   s
   t  d ƒ S(   Ns   1.2.3.post5.dev6(   R   (    (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   <lambda>T   s    (   R   R   R   R   R    R   t   raisest
   ValueError(   R   R   R   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt!   test_from_pip_string_legacy_postNG   s    !c         C   sA   t  j d d d d d d d ƒ} t d ƒ } |  j | | ƒ d  S(   Ni    i   R   R"   R   i   s   0.0.1a2(   R   R   R   R   (   R   R   R   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt+   test_from_pip_string_legacy_nonzero_lead_inW   s    c         C   sA   t  j d d d d d d d ƒ} t d ƒ } |  j | | ƒ d  S(   Ni    i   R   R"   R   i   s   0.1a2(   R   R   R   R   (   R   R   R   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt1   test_from_pip_string_legacy_short_nonzero_lead_in^   s    c         C   sA   t  j d d d d d d d ƒ} t d ƒ } |  j | | ƒ d  S(   Ni   i   i    R   R   R   s	   2.1.0.rc1(   R   R   R   R   (   R   R   R   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt+   test_from_pip_string_legacy_no_0_prereleased   s    c         C   sA   t  j d d d d d d d ƒ} t d ƒ } |  j | | ƒ d  S(   Ni   i    R   R   R   i   s	   2.0.0.rc1(   R   R   R   R   (   R   R   R   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt-   test_from_pip_string_legacy_no_0_prerelease_2j   s    c         C   s>   t  j d d d d d d ƒ} t d ƒ } |  j | | ƒ d  S(   NiÞ  i   R   t   bR   s	   2014.2.b2(   R   R   R   R   (   R   R   R   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt(   test_from_pip_string_legacy_non_440_betap   s    c         C   s   |  j  t t d ƒ d  S(   Nt   6eed5ae(   t   assertRaisesR%   R   (   R   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt"   test_from_pip_string_pure_git_hashv   s    c         C   s   |  j  t t d ƒ d  S(   Ns   non-release-tag/2014.12.16-1(   R.   R%   R   (   R   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt$   test_from_pip_string_non_digit_starty   s    c         C   s   t  j d d d ƒ } |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j | t d ƒ ƒ d  S(   Ni   i   i   t   finali    s   1.2.3(   i   i   i   s   finali    (	   R   R   R   t   version_tuplet   brief_stringt   debian_stringt   release_stringt
   rpm_stringR   (   R   t   semver(    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_final_version}   s    c         C   s[   t  j d d d ƒ } |  j | t d ƒ ƒ |  j | t d ƒ ƒ |  j | t d ƒ ƒ d  S(   Ni   i    t   1s   1.0s   1.0.0(   R   R   R   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_parsing_short_forms†   s    c         C   s£   t  j d d d d d ƒ} |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d	 | j ƒ  ƒ |  j d
 | j ƒ  ƒ |  j | t d	 ƒ ƒ d  S(   Ni   i   i   R!   i   t   devs   1.2.4s
   1.2.4~dev5s
   1.2.4.dev5s
   1.2.3.dev5(   i   i   i   R;   i   (	   R   R   R   R2   R3   R4   R5   R6   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_dev_versionŒ   s    c         C   s£   t  j d d d d d ƒ} |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d	 | j ƒ  ƒ |  j d
 | j ƒ  ƒ |  j | t d	 ƒ ƒ d  S(   Ni   i   i   R!   i   R;   s   1.2.4s
   1.2.4~dev5s
   1.2.4.dev5s
   1.2.3.dev5(   i   i   i   s   devi   (	   R   R   R   R2   R3   R4   R5   R6   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_dev_no_git_version•   s    c         C   s£   t  j d d d d d ƒ} |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d	 | j ƒ  ƒ |  j d
 | j ƒ  ƒ |  j d | j ƒ  ƒ |  j | t d
 ƒ ƒ d  S(   Ni   i   i    R!   i   R;   i   s   1.2.0s
   1.2.0~dev5s
   1.2.0.dev5s   1.1.9999.dev5(   i   i   i    s   devi   (	   R   R   R   R2   R3   R4   R5   R6   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_dev_zero_versionž   s    c         C   s¦   t  j d d d d d d ƒ } |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d	 | j ƒ  ƒ |  j d
 | j ƒ  ƒ |  j | t d	 ƒ ƒ d  S(   Ni   i   i   R"   i   t   alphadevs   1.2.4s   1.2.4~a1.dev12s   1.2.4.0a1.dev12s   1.2.3.a1.dev12(   i   i   i   R?   i   (	   R   R   R   R2   R3   R4   R5   R6   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_alpha_dev_version§   s    c         C   s£   t  j d d d d d ƒ } |  j d
 | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d	 | j ƒ  ƒ |  j | t d ƒ ƒ d  S(   Ni   i   i   R"   t   alphas   1.2.4s   1.2.4~a1s	   1.2.4.0a1s   1.2.3.a1(   i   i   i   RA   i   (	   R   R   R   R2   R3   R4   R5   R6   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_alpha_version°   s    c         C   s£   t  j d d d d d ƒ } |  j d
 | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d	 | j ƒ  ƒ |  j | t d ƒ ƒ d  S(   Ni   i   i    R"   RA   s   1.2.0s   1.2.0~a1s	   1.2.0.0a1s   1.1.9999.a1(   i   i   i    s   alphai   (	   R   R   R   R2   R3   R4   R5   R6   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_alpha_zero_version¹   s    c         C   s£   t  j d d d d d ƒ } |  j d	 | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j | t d ƒ ƒ d  S(
   Ni   i    R"   RA   s   1.0.0s   1.0.0~a1s	   1.0.0.0a1s   0.9999.9999.a1(   i   i    i    s   alphai   (	   R   R   R   R2   R3   R4   R5   R6   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_alpha_major_zero_versionÂ   s    c         C   s    t  j d d d d ƒ } |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d	 | j ƒ  ƒ |  j d
 | j ƒ  ƒ |  j | t d	 ƒ ƒ d  S(   Ni   i   i   R"   RA   i    s   1.2.4s   1.2.4~a0s	   1.2.4.0a0s   1.2.3.a0(   i   i   i   s   alphai    (	   R   R   R   R2   R3   R4   R5   R6   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_alpha_default_versionË   s    c         C   s¦   t  j d d d d d d ƒ } |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d	 | j ƒ  ƒ |  j d
 | j ƒ  ƒ |  j | t d	 ƒ ƒ d  S(   Ni   i   i   R+   i   t   betadevs   1.2.4s   1.2.4~b1.dev12s   1.2.4.0b1.dev12s   1.2.3.b1.dev12(   i   i   i   RF   i   (	   R   R   R   R2   R3   R4   R5   R6   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_beta_dev_versionÔ   s    c         C   s£   t  j d d d d d ƒ } |  j d
 | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d	 | j ƒ  ƒ |  j | t d ƒ ƒ d  S(   Ni   i   i   R+   t   betas   1.2.4s   1.2.4~b1s	   1.2.4.0b1s   1.2.3.b1(   i   i   i   RH   i   (	   R   R   R   R2   R3   R4   R5   R6   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_beta_versionÝ   s    c         C   sD   t  j d d d d d ƒ } |  j t  j d d d ƒ | j ƒ  ƒ d  S(   Ni   i   i   R+   i   (   R   R   R   t	   decrement(   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_decrement_nonreleaseæ   s    c         C   s>   t  j d d d ƒ } |  j t  j d d d ƒ | j ƒ  ƒ d  S(   Ni   i    i'  (   R   R   R   RJ   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_decrement_nonrelease_zeroì   s    c         C   s>   t  j d d d ƒ } |  j t  j d d d ƒ | j ƒ  ƒ d  S(   Ni   i   i   (   R   R   R   RJ   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_decrement_releaseó   s    c         C   s    t  j d d d d d ƒ } |  j t  j d d d d d ƒ | j ƒ  ƒ |  j t  j d d d ƒ | j d t ƒ ƒ |  j t  j d d d ƒ | j d t ƒ ƒ d  S(	   Ni   i   i   R+   i   i    t   minort   major(   R   R   R   t	   incrementt   True(   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_increment_nonreleaseú   s    %%c         C   s”   t  j d d d ƒ } |  j t  j d d d ƒ | j ƒ  ƒ |  j t  j d d d ƒ | j d t ƒ ƒ |  j t  j d d d ƒ | j d t ƒ ƒ d  S(	   Ni   i   i   i   i   i    RN   RO   (   R   R   R   RP   RQ   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_increment_release  s    %c         C   s¦   t  j d d d d d d ƒ } |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d	 | j ƒ  ƒ |  j d
 | j ƒ  ƒ |  j | t d	 ƒ ƒ d  S(   Ni   i   i   R   i   t   candidatedevs   1.2.4s   1.2.4~rc1.dev12s   1.2.4.0rc1.dev12s   1.2.3.rc1.dev12(   i   i   i   RT   i   (	   R   R   R   R2   R3   R4   R5   R6   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_rc_dev_version  s    c         C   s£   t  j d d d d d ƒ } |  j d
 | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d | j ƒ  ƒ |  j d	 | j ƒ  ƒ |  j | t d ƒ ƒ d  S(   Ni   i   i   R   t	   candidates   1.2.4s	   1.2.4~rc1s
   1.2.4.0rc1s	   1.2.3.rc1(   i   i   i   RV   i   (	   R   R   R   R2   R3   R4   R5   R6   R   (   R   R7   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_rc_version  s    c      	   C   sŠ   |  j  t j d d d d d ƒt j d d d ƒ j d ƒ ƒ |  j  t j d d d d d d d ƒt j d d d d d ƒ j d ƒ ƒ d  S(   Ni   i   i   R!   R   (   R   R   R   t   to_dev(   R   (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   test_to_dev$  s    (    t   __name__t
   __module__R   R    R&   R'   R(   R)   R*   R,   R/   R0   R8   R:   R<   R=   R>   R@   RB   RC   RD   RE   RG   RI   RK   RL   RM   RR   RS   RU   RW   RY   (    (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyR      s<   	$																																									(   R   t	   testtoolsR    t	   pbr.testsR   t   pbrR   R   R   t   BaseTestCaseR   (    (    (    s:   /usr/lib/python2.7/dist-packages/pbr/tests/test_version.pyt   <module>   s
   