38 lines
1.2 KiB
Python
Executable file
38 lines
1.2 KiB
Python
Executable file
#!/usr/bin/python3
|
|
|
|
import newfol.version
|
|
import unittest
|
|
|
|
|
|
class TestComputeVersion(unittest.TestCase):
|
|
def check_version(self, result, *args):
|
|
self.assertEqual(newfol.version.compute_version(*args), result)
|
|
|
|
def test_default(self):
|
|
self.check_version("v12", "v12")
|
|
self.check_version("lalala", "lalala")
|
|
|
|
def test_nonmatch(self):
|
|
self.check_version("v4", "v4", "v16.2")
|
|
self.check_version("v4", "v4", "v16-2.5")
|
|
self.check_version("v4", "v4", "v16-2")
|
|
self.check_version("v4", "v4", "v16-2-gx")
|
|
|
|
def test_short(self):
|
|
self.check_version("v5", "v4", "v5")
|
|
self.check_version("v22", "v4", "v22")
|
|
|
|
def test_long(self):
|
|
self.check_version("v6~pre0-1-gabcdef", "v4", "v5-1-gabcdef")
|
|
self.check_version("v17~pre0-22-g078bad", "v4", "v16-22-g078bad"),
|
|
|
|
def test_long_default(self):
|
|
self.check_version("v6~pre2-1-gabcdef", "v6~pre2", "v5-1-gabcdef")
|
|
self.check_version("v17~pre5-22-g078bad", "v17~pre5", "v16-22-g078bad")
|
|
|
|
def test_long_pre(self):
|
|
self.check_version("v6~pre0-1-gabcdef", "v6~pre", "v5-1-gabcdef")
|
|
self.check_version("v17~pre0-22-g078bad", "v17~pre", "v16-22-g078bad")
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|