Ë
    oj  ã                   óR   — d Z ddlZddlmZ ddlmZmZmZ ddlm	Z
  G d„ de
«      Zy)z'
Tests for L{twisted.python.versions}.
é    N)Ú_inf)ÚIncomparableVersionsÚVersionÚgetVersionString)ÚSynchronousTestCasec                   óŒ   — 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d	„Z
dd
„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zy)ÚVersionsTestsNc           	      ól  — t        dddd«      }t        dddd«      }| j                  ||kD  «       | j                  ||k  «       | j                  ||k\  «       | j                  ||k  «       | j                  ||k7  «       | j                  |t        dddd«      k(  «       | j                  ||k(  «       y)zB
        Versions can be compared for equality and order.
        Údummyé   r   N©r   Ú
assertTrue©ÚselfÚvaÚvbs      úC/usr/lib/python3/dist-packages/twisted/python/test/test_versions.pyÚtest_versionComparisonz$VersionsTests.test_versionComparison   s    € ô �W˜a  AÓ&ˆÜ�W˜a  AÓ&ˆØ�‰˜˜R™Ô Ø�‰˜˜R™Ô Ø�‰˜˜b™Ô!Ø�‰˜˜b™Ô!Ø�‰˜˜b™Ô!Ø�‰˜œg g¨q°!°QÓ7Ñ7Ô8Ø�‰˜˜b™Õ!ó    c           	      ó¬  — t        dddd«      }t        dddd«      }| j                  ||kD  «       | j                  ||k  «       | j                  ||k\  «       | j                  ||k  «       | j                  ||k7  «       | j                  |t        dddd«      k(  «       | j                  |t        dddd«      k(  «       | j                  ||k(  «       y)zC
        Version packages are compared case insensitively.
        Útwistedr   r   ÚTwistedÚTWIStedNr   r   s      r   Ú%test_versionComparisonCaseInsensitivez3VersionsTests.test_versionComparisonCaseInsensitive    s¼   € ô �Y  1 aÓ(ˆÜ�Y  1 aÓ(ˆØ�‰˜˜R™Ô Ø�‰˜˜R™Ô Ø�‰˜˜b™Ô!Ø�‰˜˜b™Ô!Ø�‰˜˜b™Ô!Ø�‰˜œg i°°A°qÓ9Ñ9Ô:Ø�‰˜œg i°°A°qÓ9Ñ9Ô:Ø�‰˜˜b™Õ!r   c                 ó´   — t        ddddd¬«      }t        dddd«      }| j                  ||k  «       | j                  ||kD  «       | j                  ||«       y)zP
        Prereleases are always less than versions without prereleases.
        Úwhateverr   r   ©Ú
prereleaseN)r   r   ÚassertFalseÚassertNotEqualr   s      r   Ú%test_comparingPrereleasesWithReleasesz3VersionsTests.test_comparingPrereleasesWithReleases/   sX   € ô �Z  A q°QÔ7ˆÜ�Z  A qÓ)ˆØ�‰˜˜R™Ô Ø×Ñ˜˜b™Ô!Ø×Ñ˜B Õ#r   c           
      óx  — t        ddddd¬«      }t        ddddd¬«      }| j                  ||k  «       | j                  ||kD  «       | j                  ||k  «       | j                  ||k\  «       | j                  ||k7  «       | j                  |t        ddddd¬«      k(  «       | j                  ||k(  «       y)zW
        The value specified as the prerelease is used in version comparisons.
        r   r   r   r   é   Nr   r   s      r   Útest_comparingPrereleasesz'VersionsTests.test_comparingPrereleases9   s¦   € ô �Z  A q°QÔ7ˆÜ�Z  A q°QÔ7ˆØ�‰˜˜R™Ô Ø�‰˜˜R™Ô Ø�‰˜˜b™Ô!Ø�‰˜˜b™Ô!Ø�‰˜˜b™Ô!Ø�‰˜œg j°!°Q¸ÀaÔHÑHÔIØ�‰˜˜b™Õ!r   c                 ó8   — | j                  t        t        «       y)zR
        L{_inf} is equal to L{_inf}.

        This is a regression test.
        N)ÚassertEqualr   ©r   s    r   Útest_infComparisonz VersionsTests.test_infComparisonG   s   € ð 	×ÑœœtÕ$r   c                 ó€   — | j                  t        t        j                  t	        dddd«      t	        dddd«      «       y)zO
        The package names of the Version objects need to be the same,
        r   r   r   ÚdumymN)ÚassertRaisesr   ÚoperatorÚeqr   r'   s    r   Útest_disallowBuggyComparisonsz+VersionsTests.test_disallowBuggyComparisonsO   s8   € ð 	×ÑÜ Ü�K‰KÜ�G˜Q  1Ó%Ü�G˜Q  1Ó%õ		
r   c                 ór   — t        dddd«      }d}|j                  |«      }| j                  |t        «       y)zh
        Comparing a L{Version} to some other object type results in
        C{NotImplemented}.
        r   r   r   )r   r   r   r   N)r   Ú__cmp__r&   ÚNotImplemented)r   r   r   Úresults       r   Útest_notImplementedComparisonsz,VersionsTests.test_notImplementedComparisonsZ   s6   € ô
 �W˜a  AÓ&ˆØˆØ—‘˜B“ˆØ×Ñ˜¤Õ0r   c           
      óR   — | j                  t        t        dddd«      «      d«       y)zu
        Calling C{repr} on a version returns a human-readable string
        representation of the version.
        r   r   r#   é   zVersion('dummy', 1, 2, 3)N©r&   Úreprr   r'   s    r   Ú	test_reprzVersionsTests.test_reprd   s%   € ð
 	×Ñœœg g¨q°!°QÓ7Ó8Ð:UÕVr   c                 óV   — | j                  t        t        ddddd¬«      «      d«       y)	z 
        Calling C{repr} on a version with a prerelease returns a human-readable
        string representation of the version including the prerelease.
        r   r   r#   r5   é   r   z.Version('dummy', 1, 2, 3, release_candidate=4)Nr6   r'   s    r   Útest_reprWithPrereleasez%VersionsTests.test_reprWithPrereleasek   s*   € ð
 	×ÑÜ”˜ ! Q¨°aÔ8Ó9Ø<õ	
r   c           
      óR   — | j                  t        t        dddd«      «      d«       y)zt
        Calling C{str} on a version returns a human-readable string
        representation of the version.
        r   r   r#   r5   z[dummy, version 1.2.3]N©r&   Ústrr   r'   s    r   Útest_strzVersionsTests.test_stru   s%   € ð
 	×ÑœœW W¨a°°AÓ6Ó7Ð9QÕRr   c                 óV   — | j                  t        t        ddddd¬«      «      d«       y)zX
        Calling C{str} on a version with a prerelease includes the prerelease.
        r   r   r   r   z[dummy, version 1.0.0.rc1]Nr=   r'   s    r   Ú_test_strWithPrereleasez%VersionsTests._test_strWithPrerelease|   s*   € ð 	×ÑÜ”˜  A q°QÔ7Ó8Ð:Võ	
r   c                 ó\   — | j                  t        dddd«      j                  «       d«       y )Nr   r   r#   r5   z1.2.3)r&   r   Úshortr'   s    r   Ú	testShortzVersionsTests.testShort„   s&   € Ø×Ñœ ¨!¨Q°Ó2×8Ñ8Ó:¸GÕDr   c                 óR   — | j                  dt        t        dddd«      «      «       y)zr
        L{getVersionString} returns a string with the package name and the
        short version number.
        zTwisted 8.0.0r   é   r   N©r&   r   r   r'   s    r   Útest_getVersionStringz#VersionsTests.test_getVersionString‡   s'   € ð
 	×Ñ˜Ô*:¼7À9ÈaÐQRÐTUÓ;VÓ*WÕXr   c                 óV   — | j                  t        t        ddddd¬«      «      d«       y)zF
        L{getVersionString} includes the prerelease, if any.
        r   rF   r   r   r   zwhatever 8.0.0.rc1NrG   r'   s    r   Ú$_test_getVersionStringWithPrereleasez2VersionsTests._test_getVersionStringWithPrereleaseŽ   s*   € ð 	×ÑÜœW Z°°A°qÀQÔGÓHØ õ	
r   c                 ó\   — | j                  t        dddd«      j                  «       d«       y)zY
        The L{base} method returns a very simple representation of the version.
        Úfoor   r   z1.0.0N©r&   r   Úbaser'   s    r   Ú	test_basezVersionsTests.test_base—   s(   € ð 	×Ñœ ¨¨1¨aÓ0×5Ñ5Ó7¸ÕAr   c           	      ó`   — | j                  t        ddddd¬«      j                  «       d«       y)zQ
        The base version includes 'preX' for versions with prereleases.
        rL   r   r   rF   r   z	1.0.0.rc8NrM   r'   s    r   Ú_test_baseWithPrereleasez&VersionsTests._test_baseWithPrerelease�   s*   € ð 	×Ñœ ¨¨1¨a¸AÔ>×CÑCÓEÀ{ÕSr   )ÚreturnN)Ú__name__Ú
__module__Ú__qualname__r   r   r!   r$   r(   r.   r3   r8   r;   r?   rA   rD   rH   rJ   rO   rQ   © r   r   r	   r	      sX   „ ó"ó"ó$ó"ó%ó	
ó1óWó
óSó
óEóYó
óBôTr   r	   )Ú__doc__r,   Úincrementalr   Útwisted.python.versionsr   r   r   Útwisted.trial.unittestr   ÚTestCaser	   rV   r   r   ú<module>r\      s+   ðñó
 å ç SÑ SÝ BôPT�Hõ PTr   