diff --git a/other/GotsisWasilios/TDD_Converter.py b/other/GotsisWasilios/TDD_Converter.py new file mode 100644 index 0000000000000000000000000000000000000000..36a051802d037c50673356e39ecbde3b67a57589 --- /dev/null +++ b/other/GotsisWasilios/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() + diff --git a/other/GotsisWasilios/__pycache__/TDD_Converter.cpython-313.pyc b/other/GotsisWasilios/__pycache__/TDD_Converter.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b9c725cff5466223ae8965823d319048fda5f532 Binary files /dev/null and b/other/GotsisWasilios/__pycache__/TDD_Converter.cpython-313.pyc differ diff --git a/report.md b/report.md index a5ec629ca73ada295eef55e77ae49e58da78fd16..1b4c82c400df1f1467d150d4b56dc5ca1db6a6d3 100644 --- a/report.md +++ b/report.md @@ -1,5 +1,6 @@ ## Eigene Tests gegen andere Implementierungen -| Name | Interface break | Failed Testcases | -|-------------|------------------|------------------| -| BerishaAlma | no | test_1, test_4, test_21, test_1000, test_0, test_float, test_negative, test_multiple_values | +| Name | Interface break | Failed Testcases | +|-----------------|------------------|----------------------------------------------------------------------------------| +| BerishaAlma | no | test_1, test_4, test_21, test_1000, test_0, test_float, test_negative, test_multiple_values | +| GotsisWasilios | yes | all | diff --git a/test_converter b/test_converter index 0b8f32e01f132f54fbb8ecc369dfd270364e4fec..8995adbf63434721391a1c7e89c7dd983503698a 100644 --- a/test_converter +++ b/test_converter @@ -10,7 +10,7 @@ import unittest from abc import ABC, abstractmethod -from other.BerishaAlma.test2converter import RomanNumber as Alma +from other.GotsisWasilios.TDD_Converter import TestRomanNumber as Wasili # Interface (abstrakte Basisklasse) class IConverter(ABC): @@ -58,7 +58,7 @@ class RomanConverter(IConverter): # Testklasse mit 8 funktionierenden Tests class TestRomanConverter(unittest.TestCase): def setUp(self): - self.converter = Alma() + self.converter = Wasili() # Bei Eingabe der Zahl 1 soll "I" ausgegeben werden def test_1(self):