diff --git a/other/BerishaAlma/__pycache__/test2converter.cpython-313.pyc b/other/BerishaAlma/__pycache__/test2converter.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..db4b9daca27fa24e20e5b61dcc2ab77dd3df93ca Binary files /dev/null and b/other/BerishaAlma/__pycache__/test2converter.cpython-313.pyc differ diff --git a/other/BerishaAlma/test2converter.py b/other/BerishaAlma/test2converter.py new file mode 100644 index 0000000000000000000000000000000000000000..2499a960a03cad7f8dfdeb4d8934fa63ff4fcd09 --- /dev/null +++ b/other/BerishaAlma/test2converter.py @@ -0,0 +1,43 @@ +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 diff --git a/report.md b/report.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a5ec629ca73ada295eef55e77ae49e58da78fd16 100644 --- a/report.md +++ b/report.md @@ -0,0 +1,5 @@ +## 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 | diff --git a/test_converter b/test_converter index e0004c251094b852b20604fc47514644dc659dbd..0b8f32e01f132f54fbb8ecc369dfd270364e4fec 100644 --- a/test_converter +++ b/test_converter @@ -10,6 +10,7 @@ import unittest from abc import ABC, abstractmethod +from other.BerishaAlma.test2converter import RomanNumber as Alma # Interface (abstrakte Basisklasse) class IConverter(ABC): @@ -57,7 +58,7 @@ class RomanConverter(IConverter): # Testklasse mit 8 funktionierenden Tests class TestRomanConverter(unittest.TestCase): def setUp(self): - self.converter = RomanConverter() + self.converter = Alma() # Bei Eingabe der Zahl 1 soll "I" ausgegeben werden def test_1(self):