From cef51c677d3305a326824486ebd890622ea5bde8 Mon Sep 17 00:00:00 2001
From: Almmaa <Alma.Berisha@student.reutlingen-university.de>
Date: Sun, 6 Apr 2025 04:43:42 +0200
Subject: [PATCH] =?UTF-8?q?Tests=20von=20Muhamed=20hinzugef=C3=BCgt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 other/AliciMuhamed/romannumber.py | 34 +++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 other/AliciMuhamed/romannumber.py

diff --git a/other/AliciMuhamed/romannumber.py b/other/AliciMuhamed/romannumber.py
new file mode 100644
index 0000000..2451762
--- /dev/null
+++ b/other/AliciMuhamed/romannumber.py
@@ -0,0 +1,34 @@
+import unittest
+
+def convert(n: int) -> str:
+    roman_numerals = {
+        1000: "M", 900: "CM", 500: "D", 400: "CD",
+        100: "C", 90: "XC", 50: "L", 40: "XL",
+        10: "X", 9: "IX", 5: "V", 4: "IV", 1: "I"
+    }
+    result = ""
+    for value in sorted(roman_numerals.keys(), reverse=True): #Schleife, die über die Schlüssel (die Dezimalzahlen) des roman_numerals-Dictionaries iteriert und in absteigender reienfolge zurück gibt durch value nimmt  in jeder Iteration den Wert des nächsten sortierten Schlüssels an
+        while n >= value: #Dies startet eine while-Schleife, die so lange ausgeführt wird, wie der Wert von n größer oder gleich dem aktuellen value (der Dezimalzahl) ist
+            result += roman_numerals[value] #fügt die entsprechende römische Ziffer (den Wert aus dem roman_numerals-Dictionary) zur result-Zeichenkette hinzu.
+            n -= value # aktuelle value - n
+    return result
+
+class TestRomanConverter(unittest.TestCase):
+    def test_1(self):
+        self.assertEqual(convert(1), "I")  # Erwartet "I" für 1
+
+    def test_10(self):
+        self.assertEqual(convert(10), "X")  # Erwartet "X" für 10
+    def test_21(self):
+        self.assertEqual(convert(21), "XXI")  # Erwartet "XXI" für 21
+    def test_50(self):
+        self.assertEqual(convert(50), "L")  # Erwartet "L" für 50
+    def test_100(self):
+        self.assertEqual(convert(100), "C")  # Erwartet "C" für 100
+    def test_1000(self):
+        self.assertEqual(convert(1000), "M")  # Erwartet "M" für 1000
+    def test_1999(self):
+        self.assertEqual(convert(1999), "MCMXCIX") #Erwartet "MCMXCIX" für 1999
+ 
+if __name__ == "__main__":
+    unittest.main()
\ No newline at end of file
-- 
GitLab