| 1 | import os |
| 2 | import sys |
| 3 | import unittest |
| 4 | |
| 5 | sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) |
| 6 | |
| 7 | from versions import is_upgrade, latest |
| 8 | |
| 9 | |
| 10 | class TestVersions(unittest.TestCase): |
| 11 | def test_double_digit_minor(self): |
| 12 | self.assertEqual(latest(["1.9.0", "1.10.0"]), "1.10.0") |
| 13 | |
| 14 | def test_double_digit_patch(self): |
| 15 | self.assertEqual(latest(["2.0.9", "2.0.10", "2.0.2"]), "2.0.10") |
| 16 | |
| 17 | def test_major_wins(self): |
| 18 | self.assertEqual(latest(["9.9.9", "10.0.0"]), "10.0.0") |
| 19 | |
| 20 | def test_is_upgrade(self): |
| 21 | self.assertTrue(is_upgrade("1.9.0", "1.10.0")) |
| 22 | self.assertFalse(is_upgrade("1.10.0", "1.9.0")) |
| 23 | self.assertFalse(is_upgrade("1.10.0", "1.10.0")) |
| 24 | |
| 25 | |
| 26 | if __name__ == "__main__": |
| 27 | unittest.main() |
| 28 |