From a65a4cf95c7526d4b10ef1ed2449bc98b375127e Mon Sep 17 00:00:00 2001
From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de>
Date: Thu, 20 Mar 2025 14:17:32 +0100
Subject: [PATCH] Test 1/17 erfolgreich

---
 converter.py | 49 +++++++++++++++++++++++++++++++++----------------
 1 file changed, 33 insertions(+), 16 deletions(-)

diff --git a/converter.py b/converter.py
index 39548ef..8f6e01b 100644
--- a/converter.py
+++ b/converter.py
@@ -1,33 +1,50 @@
 # Bei Eingabe der Zahl 1 soll "I" ausgegeben werden
-
 # Bei Eingabe der Zahl 2 soll "II" ausgegeben werden
-
 # Bei Eingabe der Zahl 3 soll "III" ausgegeben werden
-
 # Bei Eingabe der Zahl 4 soll "IV" ausgegeben werden
-
 # Bei Eingabe der Zahl 5 soll "V" ausgegeben werden
-
 # Bei Eingabe der Zahl 9 soll "IX" ausgegeben werden
-
 # Bei Eingabe der Zahl 10 soll "X" ausgegeben werden
-
 # Bei Eingabe der Zahl 21 soll "XXI" ausgegeben werden
-
 # Bei Eingabe der Zahl 50 soll "L" ausgegeben werden
-
 # Bei Eingabe der Zahl 100 soll "C" ausgegeben werden
-
 # Bei Eingabe der Zahl 500 soll "D" ausgegeben werden
-
 # Bei Eingabe der Zahl 1000 soll "M" ausgegeben werden
-
 # Bei Eingabe der Zahl 1111 soll "MCXI" ausgegeben werden
-
 # Bei Eingabe der Zahl 99 soll "XCIX" ausgegeben werden
-
 # Bei Eingabe der Zahl 0 soll "Es gibt keine römische Null" ausgegeben werden
-
 # Bei Eingabe der Zahl 40 soll "XL" ausgegeben werden
+# Bei Eingabe des Strings 'IV' soll 4 ausgegenen werden
+
+import unittest
+from abc import ABC, abstractmethod
+
+class IConverter(ABC):
+    @abstractmethod
+    def convert(self, num: int) -> str:
+        pass
+
+class Converter(IConverter):
+    def convert(self, num: int) -> str:
+        roman_numbers = [(1, 'I')]
+        
+        roman_str = ''
+
+        for value, numeral in roman_numbers:
+
+            while num >= value:
+                roman_str += numeral
+                num -= value
+
+        return roman_str
+
+class TestConverter(unittest.TestCase):
+    def setUp(self):
+        self.c = Converter()
+
+    def test_convertOne(self):
+        res = self.c.convert(1)
+        self.assertEqual(res, 'I')
 
-# Bei Eingabe eines Strings statt Integer-Wert soll "Gebe eine Zahl ein" ausgegeben werden
\ No newline at end of file
+if __name__ == "__main__":
+    unittest.main()
-- 
GitLab