def test_str(self): self.assertEqual(str(Version(1, 0, 0)), '1.0.0') self.assertEqual(str(Version(1, 0)), '1.0.0') self.assertEqual(str(Version(1)), '1.0.0') self.assertEqual(str(Version.parse('1')), '1.0.0') self.assertEqual(str(Version.parse('1-foo')), '1.0.0-foo') self.assertEqual(str(Version.parse('1+foo')), '1.0.0+foo') self.assertEqual(str(Version.parse('1-foo+bar.baz')), '1.0.0-foo+bar.baz')
def test_cmp_postrelease(self): v101 = Version.parse('1.0.1') v101a = Version.parse('1.0.1a') v101b = Version.parse('1.0.1b') self.assertEqual(v101.__cmp__(v101a), -1) self.assertEqual(v101.__cmp__(v101b), -1) self.assertEqual(v101a.__cmp__(v101), 1) self.assertEqual(v101a.__cmp__(v101a), 0) self.assertEqual(v101a.__cmp__(v101b), -1) self.assertEqual(v101b.__cmp__(v101), 1) self.assertEqual(v101b.__cmp__(v101a), 1) self.assertEqual(v101b.__cmp__(v101b), 0)
def test_parse_semver2_v1(self): v1 = Version.parse('1.0.0') self.assertEqual(v1.major, 1) self.assertEqual(v1.minor, 0) self.assertEqual(v1.patch, 0) self.assertEqual(v1.prerelease, None) self.assertEqual(v1.build_metadata, None)
def test_parse_semver2_v1_dev_foo_bar(self): v1 = Version.parse('1.0.0-dev+foo.bar') self.assertEqual(v1.major, 1) self.assertEqual(v1.minor, 0) self.assertEqual(v1.patch, 0) self.assertEqual(v1.prerelease, 'dev') self.assertEqual(v1.build_metadata, 'foo.bar')
def test_parse_postrelease(self): v = Version.parse('1.0.1l') self.assertEqual(v.major, 1) self.assertEqual(v.minor, 0) self.assertEqual(v.patch, 1) self.assertEqual(v.postrelease, 'l') self.assertEqual(v.prerelease, None) self.assertEqual(v.build_metadata, None)
def test_parse_postrelease_digits(self): v = Version.parse('2.8.12.3') self.assertEqual(v.major, 2) self.assertEqual(v.minor, 8) self.assertEqual(v.patch, 12) self.assertEqual(v.postrelease, 3) self.assertEqual(v.prerelease, None) self.assertEqual(v.build_metadata, None) v12 = Version.parse('2.8.12') self.assertTrue(v > v12) self.assertTrue(v12 < v) v12_1 = Version.parse('2.8.12.1') self.assertTrue(v > v12_1) self.assertTrue(v12_1 < v) v12_5 = Version.parse('2.8.12.5') self.assertTrue(v < v12_5) self.assertTrue(v12_5 > v)
def test_str(self): self.assertEqual(str(Version(1, 0, 0)), '1.0.0') self.assertEqual(str(Version(1, 0)), '1.0.0') self.assertEqual(str(Version(1)), '1.0.0') self.assertEqual(str(Version.parse('1')), '1.0.0') self.assertEqual(str(Version.parse('1-foo')), '1.0.0-foo') self.assertEqual(str(Version.parse('1+foo')), '1.0.0+foo') self.assertEqual(str(Version.parse('1-foo+bar.baz')), '1.0.0-foo+bar.baz') self.assertEqual(str(Version.parse('1.0.1a')), '1.0.1a') self.assertEqual(str(Version.parse('1.0.1.2')), '1.0.1.2')
def test_cmp_pre_and_postrelease(self): self.assertTrue(Version.parse('1.0.1a') > Version.parse('1.0.1-foo')) self.assertTrue(Version.parse('1.0.1-foo') < Version.parse('1.0.1f')) self.assertTrue(Version.parse('1.0.1f') == Version.parse('1.0.1f'))