diff --git a/test2 converter.py b/test2 converter.py new file mode 100644 index 0000000000000000000000000000000000000000..2e04e942a54a0b4c592206688a69e563a966af96 --- /dev/null +++ b/test2 converter.py @@ -0,0 +1,37 @@ +import unittest +from abc import ABC, abstractmethod + +class IRomanNumber(ABC): + @abstractmethod + def convert(self, n:int) -> str: + pass + +class RomanNumber(IRomanNumber): + def convert(self, n: int) -> str: + roman_numerals = { + 3: "III", 6: "VI", 8: "VIII", + 12: "XII", 17: "XVII", 29: "XXIX", + 34: "XXXIV", 55: "LV", 101: "CI", + 501: "DI", 1003: "MIII" + } + return roman_numerals.get(n, "") + +class TestRomanConverter(unittest.TestCase): + def setUp(self): + self.converter = RomanNumber() + + def test_single_value(self): + self.assertEqual(self.converter.convert(3), "III") + self.assertEqual(self.converter.convert(6), "VI") + self.assertEqual(self.converter.convert(8), "VIII") + self.assertEqual(self.converter.convert(12), "XII") + self.assertEqual(self.converter.convert(17), "XVII") + self.assertEqual(self.converter.convert(29), "XXIX") + self.assertEqual(self.converter.convert(34), "XXXIV") + self.assertEqual(self.converter.convert(55), "LV") + self.assertEqual(self.converter.convert(101), "CI") + self.assertEqual(self.converter.convert(501), "DI") + self.assertEqual(self.converter.convert(1003), "MIII") + +if __name__ == "__main__": + unittest.main() \ No newline at end of file