From f345f36e38b2c07c0a7df5997cf7c515527f4b21 Mon Sep 17 00:00:00 2001
From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de>
Date: Sat, 5 Apr 2025 01:19:07 +0200
Subject: [PATCH 1/4] Download Implemetierung von BerishaAlma

---
 Other/BerishaAlma_1/test2converter.py | 37 +++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 Other/BerishaAlma_1/test2converter.py

diff --git a/Other/BerishaAlma_1/test2converter.py b/Other/BerishaAlma_1/test2converter.py
new file mode 100644
index 0000000..2e04e94
--- /dev/null
+++ b/Other/BerishaAlma_1/test2converter.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
-- 
GitLab


From fb9543043d6ac0aae0ad004b111b2737c58c3bc2 Mon Sep 17 00:00:00 2001
From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de>
Date: Sat, 5 Apr 2025 01:22:16 +0200
Subject: [PATCH 2/4] Meine Implementierung converter.py

---
 Other/BerishaAlma_1/converter.py | 49 ++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 Other/BerishaAlma_1/converter.py

diff --git a/Other/BerishaAlma_1/converter.py b/Other/BerishaAlma_1/converter.py
new file mode 100644
index 0000000..0ef9bd0
--- /dev/null
+++ b/Other/BerishaAlma_1/converter.py
@@ -0,0 +1,49 @@
+#Bei Eingabe von Zahlen, die in der Liste definiert sind, sollen römische Zhalen zurückgegeben werden.
+#Bei Eingabe von Zahlen, die nicht in der Liste definiert ist, soll ein "" ausgeben werden.
+
+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 = {
+            1: "I",  2: "II", 3: "III", 
+            4: "IV",  5: "V", 9: "IX", 
+            21: "XXI",  50: "L", 100: "C",
+            500: "D",  1000: "M" 
+        }
+        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(1), "I")
+        self.assertEqual(self.converter.convert(2), "II")
+        self.assertEqual(self.converter.convert(3), "III")
+        self.assertEqual(self.converter.convert(4), "IV")
+        self.assertEqual(self.converter.convert(5), "V")
+        self.assertEqual(self.converter.convert(9), "IX")
+        self.assertEqual(self.converter.convert(21), "XXI")
+        self.assertEqual(self.converter.convert(50), "L")
+        self.assertEqual(self.converter.convert(100), "C")
+        self.assertEqual(self.converter.convert(500), "D")
+        self.assertEqual(self.converter.convert(1000), "M")
+    
+    def test_inivalid_numbers(self):
+        self.assertEqual(self.converter.convert(6), "")
+        self.assertEqual(self.converter.convert(99), "")
+        self.assertEqual(self.converter.convert(-1), "")
+        
+
+
+
+
+if __name__ == "__main__":
+    unittest.main()
-- 
GitLab


From d6f62983ee9d93326ca3c04b81d99f526193827a Mon Sep 17 00:00:00 2001
From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de>
Date: Sat, 5 Apr 2025 01:23:57 +0200
Subject: [PATCH 3/4] =?UTF-8?q?Implementierung=20von=20BerishaAlma=20mit?=
 =?UTF-8?q?=20meinen=20Testf=C3=A4llen=20getestet?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Other/BerishaAlma_1/my_converter.py | 36 +++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 Other/BerishaAlma_1/my_converter.py

diff --git a/Other/BerishaAlma_1/my_converter.py b/Other/BerishaAlma_1/my_converter.py
new file mode 100644
index 0000000..ada0641
--- /dev/null
+++ b/Other/BerishaAlma_1/my_converter.py
@@ -0,0 +1,36 @@
+#Umsetzungen von AliciMuhamed auf meinen Testfälle
+
+import unittest
+
+from test2 converter import RomanNumber as RomanNumber
+from test2 converter import RomanNumber as IRomanNumber
+
+
+class TestRomanConverter(unittest.TestCase):
+    def setUp(self):
+        self.converter = RomanNumber()
+
+    def test_implements_interface(self):
+        self.assertIsInstance(self.converter, IRomanNumber)
+
+    def test_single_value(self):
+        self.assertEqual(self.converter.convert(1), "I")
+        self.assertEqual(self.converter.convert(2), "II")
+        self.assertEqual(self.converter.convert(3), "III")
+        self.assertEqual(self.converter.convert(4), "IV")
+        self.assertEqual(self.converter.convert(5), "V")
+        self.assertEqual(self.converter.convert(9), "IX")
+        self.assertEqual(self.converter.convert(21), "XXI")
+        self.assertEqual(self.converter.convert(50), "L")
+        self.assertEqual(self.converter.convert(100), "C")
+        self.assertEqual(self.converter.convert(500), "D")
+        self.assertEqual(self.converter.convert(1000), "M")
+    
+    def test_inivalid_numbers(self):
+        self.assertEqual(self.converter.convert(6), "")
+        self.assertEqual(self.converter.convert(99), "")
+        self.assertEqual(self.converter.convert(-1), "")
+        
+
+if __name__ == "__main__":
+    unittest.main()
-- 
GitLab


From 9ed71831929b3cddfae2be205fc15a4d6911998a Mon Sep 17 00:00:00 2001
From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de>
Date: Sat, 5 Apr 2025 01:25:18 +0200
Subject: [PATCH 4/4] =?UTF-8?q?Meine=20Implementierung=20mit=20BerishaAlma?=
 =?UTF-8?q?=20Testf=C3=A4llen=20getestet?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Other/BerishaAlma_1/your_converter.py | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 Other/BerishaAlma_1/your_converter.py

diff --git a/Other/BerishaAlma_1/your_converter.py b/Other/BerishaAlma_1/your_converter.py
new file mode 100644
index 0000000..e760cdc
--- /dev/null
+++ b/Other/BerishaAlma_1/your_converter.py
@@ -0,0 +1,22 @@
+import unittest
+from converter import RomanNumber as RomanNumber
+
+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
-- 
GitLab