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_prerelease(self): self.assertEqual(Version(1, prerelease='foo').__cmp__(Version(1)), -1) self.assertEqual(Version(1, prerelease='foo').__cmp__('1-foo'), 0) self.assertEqual(Version(1, prerelease='foo').__cmp__('1-bar'), 1) self.assertEqual(Version(1, prerelease='bar').__cmp__('1-foo'), -1) self.assertEqual( Version(1, 1, 0, prerelease='foo').__cmp__('1.1.0-1'), 1) self.assertEqual( Version(1, 1, 0, prerelease=1).__cmp__('1.1.0-foo'), -1) self.assertEqual(Version(1, 1, 0).__cmp__('1.1.0-foo'), 1) self.assertEqual( Version(1, 1, 0, prerelease='foo').__cmp__('1.1.0'), -1)
def test_ne(self): self.assertTrue(Version(1, 1) != Version(1))
def test_eq(self): self.assertTrue(Version(1) == Version(1))
def test_cmp_raise_TypeError(self): self.assertRaises(TypeError, Version(1).__cmp__, None)
def test_match(self): self.assertTrue(Constraint.parse('==1.0').match(Version(1))) self.assertTrue('1' in Constraint.parse('==1.0')) self.assertTrue('2' in Constraint.parse('>1.0'))
def test_cmp_minor_lt(self): self.assertEqual(Version(1).__cmp__('1.1'), -1)
def test_lt(self): self.assertTrue(Version(1) < Version(2))
def test_cmp_major_lt(self): self.assertEqual(Version(1).__cmp__('2'), -1)
def test_cmp_minor_gt(self): self.assertEqual(Version(1, 1).__cmp__('1'), 1)
def test_cmp_major_gt(self): self.assertEqual(Version(2).__cmp__('1'), 1)
def test_cmp_major_eq(self): self.assertEqual(Version(1).__cmp__('1'), 0)
def test_parse(self): constraint = Constraint.parse('==1.0') self.assertEqual(constraint.operator, eq) self.assertEqual(constraint.version, Version(1))
def test_gt(self): self.assertTrue(Version(2) > Version(1))
def test_cmp_patch_gt(self): self.assertEqual(Version(1, 1, 1).__cmp__('1.1'), 1)
def test_ge(self): self.assertTrue(Version(2) >= Version(1)) self.assertTrue(Version(2) >= Version(2))
def test_cmp_patch_lt(self): self.assertEqual(Version(1, 1, 0).__cmp__('1.1.1'), -1)
def test_le(self): self.assertTrue(Version(1) <= Version(1)) self.assertTrue(Version(1) <= Version(2))
def test_cmp_patch_eq(self): self.assertEqual(Version(1, 1, 0).__cmp__('1.1.0'), 0)
def test_repr(self): self.assertEqual(repr(Version(1)), "Version.parse('1.0.0')")
def __init__(self, version=Version()): version._objects.append(self) self.__version = version self.version._built = True