From e177c9e7a627a70a290e2b85eb367643e04df4e9 Mon Sep 17 00:00:00 2001 From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de> Date: Sat, 5 Apr 2025 01:39:30 +0200 Subject: [PATCH] =?UTF-8?q?Implementierung=20von=20GotsisWasili=20mit=20me?= =?UTF-8?q?inen=20Testf=C3=A4llen=20getestet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Other/GotsisWasili_1/TDD_Converter.py | 51 +++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Other/GotsisWasili_1/TDD_Converter.py diff --git a/Other/GotsisWasili_1/TDD_Converter.py b/Other/GotsisWasili_1/TDD_Converter.py new file mode 100644 index 0000000..36a0518 --- /dev/null +++ b/Other/GotsisWasili_1/TDD_Converter.py @@ -0,0 +1,51 @@ +import unittest +from abc import ABC, abstractmethod + +#Interface für Counter +class IRomanNumber(ABC): + @abstractmethod + def convert_int_to_str(self, n: int) -> str: + pass + +# Implementierung Converter Klasse +class RomanNumber(IRomanNumber): + def convert_int_to_str(self, n: int) -> str: + + #Eingabe anders als int + if not isinstance(n, int): + return "Fehler: Bitte Zahl eingeben" + + #Int Eingabe kleiner gleich 0 + if n <= 0: + return "Integer muss größer als 0 sein" + + # Bekannte Werte umwandeln + roman_convert = {1: "I", 21: "XXI", 1000: "M"} + return roman_convert.get(n) + +# Testklasse (TestConverter) +class TestRomanNumber (unittest.TestCase): + def setUp(self): + self.r = RomanNumber() + + def test_convert_1(self): + self.assertEqual(self.r.convert_int_to_str(1), "I") + + def test_convert_21(self): + self.assertEqual(self.r.convert_int_to_str(21), "XXI") + + def test_convert_empty(self): + self.assertEqual(self.r.convert_int_to_str(None), "Fehler: Bitte Zahl eingeben") + + def test_convert_string(self): + self.assertEqual(self.r.convert_int_to_str("Hello"), "Fehler: Bitte Zahl eingeben") + + def test_convert_downzero(self): + self.assertEqual(self.r.convert_int_to_str(-5), "Integer muss größer als 0 sein") + + def test_convert_downzero(self): + self.assertEqual(self.r.convert_int_to_str(1000), "M") + +if __name__ == "__main__": + unittest.main() + -- GitLab