Added tests for version

This commit is contained in:
Maxim Kulkin 2013-09-15 18:05:35 +04:00
parent 31baec36bd
commit 4e80964dca
2 changed files with 76 additions and 0 deletions

View File

@ -10,6 +10,30 @@ class Version:
else: else:
self.parts = [int(major), int(minor), int(maintenance)] 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): def __str__(self):
return '.'.join([str(p) for p in self.parts]) return '.'.join([str(p) for p in self.parts])

View File

@ -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()