Skip to content
Snippets Groups Projects
Commit f568bf79 authored by Alma Berisha's avatar Alma Berisha
Browse files

initial commit

parent b277fe11
No related branches found
No related tags found
No related merge requests found
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment