"""Test Version class""" import unittest from pkgupdates.version import parse_version, SemanticVersion, DateVersion class VersionTest(unittest.TestCase): """Version Class tests""" def test_semantic_version(self): """Test semantic version""" version = parse_version("1.2.3") self.assertIsInstance(version, SemanticVersion) self.assertEqual(version.major, 1) def test_version_with_v_prefix(self): """Test versions with a v like v1.2.3""" version = parse_version("v1.2.3") self.assertIsInstance(version, SemanticVersion) self.assertEqual(version.major, 1) def test_short_semantic_version(self): """Test semantic version""" version = parse_version("1.2") self.assertIsInstance(version, SemanticVersion) def test_date_version(self): """Test date based version""" version = parse_version("20000102") self.assertIsInstance(version, DateVersion) def test_revisions(self): """Test ebuild revision versions""" version = parse_version("1.2.3-r4") self.assertEqual(version.revision, 4) self.assertIsInstance(version, SemanticVersion) version_wo = parse_version("1.2.3") self.assertIsNone(version_wo.revision) if __name__ == '__main__': unittest.main()