X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/cea881e554d3bb44d8ea83db6275ceb124915c34..48aaca91efa214b37dba94f28582be73f3c90dbd:/test/ganeti.compat_unittest.py diff --git a/test/ganeti.compat_unittest.py b/test/ganeti.compat_unittest.py index 19f82b7..54a1c62 100755 --- a/test/ganeti.compat_unittest.py +++ b/test/ganeti.compat_unittest.py @@ -58,5 +58,46 @@ class TestPartial(testutils.GanetiTestCase): (("Foo", ), {"xyz": 999,})) +class TestTryToRoman(testutils.GanetiTestCase): + """test the compat.TryToRoman function""" + + def setUp(self): + testutils.GanetiTestCase.setUp(self) + # Save the compat.roman module so we can alter it with a fake... + self.compat_roman_module = compat.roman + + def tearDown(self): + # ...and restore it at the end of the test + compat.roman = self.compat_roman_module + testutils.GanetiTestCase.tearDown(self) + + def testAFewIntegers(self): + # This test only works is the roman module is installed + if compat.roman is not None: + self.assertEquals(compat.TryToRoman(0), 0) + self.assertEquals(compat.TryToRoman(1), "I") + self.assertEquals(compat.TryToRoman(4), "IV") + self.assertEquals(compat.TryToRoman(5), "V") + + def testWithNoRoman(self): + # compat.roman is saved/restored in setUp/tearDown + compat.roman = None + self.assertEquals(compat.TryToRoman(0), 0) + self.assertEquals(compat.TryToRoman(1), 1) + self.assertEquals(compat.TryToRoman(4), 4) + self.assertEquals(compat.TryToRoman(5), 5) + + def testStrings(self): + self.assertEquals(compat.TryToRoman("astring"), "astring") + self.assertEquals(compat.TryToRoman("5"), "5") + + def testDontConvert(self): + self.assertEquals(compat.TryToRoman(0, convert=False), 0) + self.assertEquals(compat.TryToRoman(1, convert=False), 1) + self.assertEquals(compat.TryToRoman(7, convert=False), 7) + self.assertEquals(compat.TryToRoman("astring", convert=False), "astring") + self.assertEquals(compat.TryToRoman("19", convert=False), "19") + + if __name__ == "__main__": testutils.GanetiTestProgram()