Ϫf RdZddlZddlmZddlmZmZmZddlm Z Gdde Z y)z' Tests for L{twisted.python.versions}. N)_inf)IncomparableVersionsVersiongetVersionString)SynchronousTestCaseceZdZddZddZddZddZddZddZddZ dd Z dd Z dd Z dd Z dd ZddZddZddZddZy) VersionsTestsNc ltdddd}tdddd}|j||kD|j||k|j||k\|j||k|j||k7|j|tddddk(|j||k(y)zB Versions can be compared for equality and order. dummyrNr assertTrueselfvavbs C/usr/lib/python3/dist-packages/twisted/python/test/test_versions.pytest_versionComparisonz$VersionsTests.test_versionComparisonsWaA & WaA & R  R  b! b! b! ggq!Q778 b!c tdddd}tdddd}|j||kD|j||k|j||k\|j||k|j||k7|j|tddddk(|j|tddddk(|j||k(y)zC Version packages are compared case insensitively. twistedr rTwistedTWIStedNr rs r%test_versionComparisonCaseInsensitivez3VersionsTests.test_versionComparisonCaseInsensitive sY1a ( Y1a ( R  R  b! b! b! giAq99: giAq99: b!rctddddd}tdddd}|j||k|j||kD|j||y)zP Prereleases are always less than versions without prereleases. whateverr r prereleaseN)rr assertFalseassertNotEqualrs r%test_comparingPrereleasesWithReleasesz3VersionsTests.test_comparingPrereleasesWithReleases/sXZAqQ 7 ZAq ) R  b! B#rc xtddddd}tddddd}|j||k|j||kD|j||k|j||k\|j||k7|j|tdddddk(|j||k(y)zW The value specified as the prerelease is used in version comparisons. rr rrNr rs rtest_comparingPrereleasesz'VersionsTests.test_comparingPrereleases9sZAqQ 7 ZAqQ 7 R  R  b! b! b! gj!QaHHI b!rc8|jtty)zR L{_inf} is equal to L{_inf}. This is a regression test. N) assertEqualrrs rtest_infComparisonz VersionsTests.test_infComparisonGs t$rc |jttjt ddddt ddddy)zO The package names of the Version objects need to be the same, r r rdumymN) assertRaisesroperatoreqrr's rtest_disallowBuggyComparisonsz+VersionsTests.test_disallowBuggyComparisonsOs8  KK GQ1 % GQ1 %  rcrtdddd}d}|j|}|j|ty)zh Comparing a L{Version} to some other object type results in C{NotImplemented}. r r r)r r rrN)r__cmp__r&NotImplemented)rrrresults rtest_notImplementedComparisonsz,VersionsTests.test_notImplementedComparisonsZs6 WaA & B 0rc R|jttdddddy)zu Calling C{repr} on a version returns a human-readable string representation of the version. r r r#zVersion('dummy', 1, 2, 3)Nr&reprrr's r test_reprzVersionsTests.test_reprds% ggq!Q78:UVrc V|jttddddddy) 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#r5rz.Version('dummy', 1, 2, 3, release_candidate=4)Nr6r's rtest_reprWithPrereleasez%VersionsTests.test_reprWithPrereleaseks*  !Qa8 9 < rc R|jttdddddy)zt Calling C{str} on a version returns a human-readable string representation of the version. r r r#r5z[dummy, version 1.2.3]Nr&strrr's rtest_strzVersionsTests.test_strus% WWaA679QRrc V|jttddddddy)zX Calling C{str} on a version with a prerelease includes the prerelease. r r rrz[dummy, version 1.0.0.rc1]Nr=r's r_test_strWithPrereleasez%VersionsTests._test_strWithPrerelease|s*  AqQ7 8:V rc\|jtddddjdy)Nr r r#r5z1.2.3)r&rshortr's r testShortzVersionsTests.testShorts& !Q288:GDrc R|jdttddddy)zr L{getVersionString} returns a string with the package name and the short version number. z Twisted 8.0.0rrNr&rrr's rtest_getVersionStringz#VersionsTests.test_getVersionStrings' *:79aQRTU;V*WXrc V|jttddddddy)zF L{getVersionString} includes the prerelease, if any. rrFrr rzwhatever 8.0.0.rc1NrGr's r$_test_getVersionStringWithPrereleasez2VersionsTests._test_getVersionStringWithPrereleases*  WZAqQG H  rc\|jtddddjdy)zY The L{base} method returns a very simple representation of the version. foor rz1.0.0Nr&rbaser's r test_basezVersionsTests.test_bases( 1a0557Arc `|jtdddddjdy)zQ The base version includes 'preX' for versions with prereleases. rLr rrFrz 1.0.0.rc8NrMr's r_test_baseWithPrereleasez&VersionsTests._test_baseWithPrereleases* 1aA>CCE{Sr)returnN)__name__ __module__ __qualname__rrr!r$r(r.r3r8r;r?rArDrHrJrOrQrrr r sX " "$ "%  1W S EY B Trr ) __doc__r, incrementalrtwisted.python.versionsrrrtwisted.trial.unittestrTestCaser rVrrr\s+ SSBPTHPTr