diff --git a/ProjektTest/other/YildirimHatice/__pycache__/converter.cpython-313.pyc b/ProjektTest/other/YildirimHatice/__pycache__/converter.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cdf4c2e14ccc66d30aa47e852525819d17f2e2bb Binary files /dev/null and b/ProjektTest/other/YildirimHatice/__pycache__/converter.cpython-313.pyc differ diff --git a/ProjektTest/other/YildirimHatice/converter.py b/ProjektTest/other/YildirimHatice/converter.py new file mode 100644 index 0000000000000000000000000000000000000000..0ef9bd00dc3c5f4bb6eec9d95b79aea454ffd3f8 --- /dev/null +++ b/ProjektTest/other/YildirimHatice/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() diff --git a/ProjektTest/report.md b/ProjektTest/report.md index a412aad83c3ca5dddf232e634dd6218c88bf21e4..5ccfac47913a06b8e2dbcf54a7d9f58e5d66794a 100644 --- a/ProjektTest/report.md +++ b/ProjektTest/report.md @@ -1,6 +1,9 @@ -| 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 | -| RafehDaniel | no | none | -| AliciMuhamed | no | none | +## 🧪 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 | +| GotsisWasilios| yes | all | +| RafehDaniel | no | none | +| AliciMuhamed | no | 3 | +| YildirimHatice| yes | test_1, test_4, test_21, test_1000, test_0, test_float, test_negative, test_multiple_values | diff --git a/ProjektTest/test_converter.py b/ProjektTest/test_converter.py index c7a28c86c5ce1869f49e279115328dbc39e11b3f..1531d3dd7c180d28d38ea2a7c6e408cae371c918 100644 --- a/ProjektTest/test_converter.py +++ b/ProjektTest/test_converter.py @@ -10,7 +10,7 @@ import unittest from abc import ABC, abstractmethod -from other.AliciMuhamed.Test_Converter_Römische_Zahlen import MomoConverter as momo +from other.YildirimHatice.converter import TestRomanConverter as hatice # 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 = momo + self.converter = hatice() # Bei Eingabe der Zahl 1 soll "I" ausgegeben werden def test_1(self):