From 4e80964dcac4a03b77f087b85eb8ae75a0e4b9d2 Mon Sep 17 00:00:00 2001 From: Maxim Kulkin Date: Sun, 15 Sep 2013 18:05:35 +0400 Subject: [PATCH] Added tests for version --- ostack_validator/schema.py | 24 +++++++++++++++ ostack_validator/test_version.py | 52 ++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 ostack_validator/test_version.py diff --git a/ostack_validator/schema.py b/ostack_validator/schema.py index 8af8768..a5e9fbe 100644 --- a/ostack_validator/schema.py +++ b/ostack_validator/schema.py @@ -10,6 +10,30 @@ class Version: else: self.parts = [int(major), int(minor), int(maintenance)] + @property + def major(self): + return self.parts[0] + + @major.setter + def major(self, value): + self.parts[0] = int(value) + + @property + def minor(self): + return self.parts[1] + + @minor.setter + def minor(self, value): + self.parts[1] = int(value) + + @property + def maintenance(self): + return self.parts[2] + + @maintenance.setter + def maintenance(self, value): + self.parts[2] = value + def __str__(self): return '.'.join([str(p) for p in self.parts]) diff --git a/ostack_validator/test_version.py b/ostack_validator/test_version.py new file mode 100644 index 0000000..28f335b --- /dev/null +++ b/ostack_validator/test_version.py @@ -0,0 +1,52 @@ +from ostack_validator.schema import Version + +import unittest + +class VersionTests(unittest.TestCase): + + def test_creation_from_components(self): + v = Version(1, 3, 7) + self.assertEqual(1, v.major) + self.assertEqual(3, v.minor) + self.assertEqual(7, v.maintenance) + + def test_creation_from_string(self): + v = Version('1.2.12') + self.assertEqual(1, v.major) + self.assertEqual(2, v.minor) + self.assertEqual(12, v.maintenance) + + def test_creation_from_other_version(self): + v = Version('1.2.3') + v2 = Version(v) + self.assertEqual(1, v2.major) + self.assertEqual(2, v2.minor) + self.assertEqual(3, v2.maintenance) + + def test_equility(self): + v1 = Version('1.2.3') + v2 = Version(1, 2, 3) + v3 = Version(1, 2, 4) + + self.assertTrue(v1 == v2) + self.assertFalse(v1 == v3) + + def test_non_equility(self): + v1 = Version('1.2.3') + v2 = Version(1, 2, 3) + v3 = Version(1, 2, 4) + + self.assertFalse(v1 != v2) + self.assertTrue(v1 != v3) + + def test_comparision(self): + v1 = Version('1.2.3') + v2 = Version(1, 1, 5) + + self.assertTrue(v1 > v2) + self.assertFalse(v1 < v2) + + +if __name__ == '__main__': + unittest.main() +