diff --git a/others/Hatice/HaticeRomanConverter.py b/others/Hatice/HaticeRomanConverter.py new file mode 100644 index 0000000000000000000000000000000000000000..37d8b16339e9e4b98d37ca7e71d9abfb31b9246d --- /dev/null +++ b/others/Hatice/HaticeRomanConverter.py @@ -0,0 +1,55 @@ +#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, "") +''' +import unittest +from src.romannumerals import RomanNumber +from src.interfaces import IRomanNumber + +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() + +#python -m unittest others.Hatice.HaticeRomanConverter -v \ No newline at end of file diff --git a/others/Hatice/reportHaticeImp.md b/others/Hatice/reportHaticeImp.md new file mode 100644 index 0000000000000000000000000000000000000000..b03fd0b5898b6761e14a5aa0aef8f9e518fc3c8a --- /dev/null +++ b/others/Hatice/reportHaticeImp.md @@ -0,0 +1,7 @@ +| Name | Interface break | Failed Testcases | | +|--------|-----------------|--------------------------------------------------------------------------------|---------------------------------------| +| Hatice | no | test_convert_addition (tests.test_romannumerals.TestRomanNumber) ... FAIL | AssertionError: '' != 'II' + II | +| Hatice | no | test_convert_invalid (tests.test_romannumerals.TestRomanNumber) ... FAIL | AssertionError: ValueError not raised | +| Hatice | no | test_convert_large_numbers (tests.test_romannumerals.TestRomanNumber) ... FAIL | AssertionError: '' != 'MI' + MI | +| Hatice | no | test_convert_mixed (tests.test_romannumerals.TestRomanNumber) ... FAIL | AssertionError: '' != 'XIV' + XIV | +| Hatice | no | test_convert_subtraction (tests.test_romannumerals.TestRomanNumber) ... FAIL | AssertionError: '' != 'IV' + IV | \ No newline at end of file diff --git a/others/Hatice/reportHaticeTests.md b/others/Hatice/reportHaticeTests.md new file mode 100644 index 0000000000000000000000000000000000000000..5a4d3b62c0d8cf70ce3ddf58266864d3fa320f9c --- /dev/null +++ b/others/Hatice/reportHaticeTests.md @@ -0,0 +1,3 @@ +| Name | Interface break | Failed Testcases | | +|--------|-----------------|----------------------------------------------------------------------------------------|---------------------------------| +| Hatice | no | test_inivalid_numbers (others.Hatice.HaticeRomanConverter.TestRomanConverter) ... FAIL | AssertionError: 'VI' != '' - VI | \ No newline at end of file diff --git a/tests/test_romannumerals.py b/tests/test_romannumerals.py index 578d3020a8a87d1bf6482fd1cefc99feb77114dc..1a97477ad5aaec4c754e7e735b17e9d3f9bee50d 100644 --- a/tests/test_romannumerals.py +++ b/tests/test_romannumerals.py @@ -56,9 +56,12 @@ from others.Dani.DaniRomanConverter import Converter, IConverter import unittest from others.Momo.MomoRomanConverter import convert -''' + import unittest from others.Alma.AlmaRomanConverter import IRomanNumber, RomanNumber +''' +import unittest +from others.Hatice.HaticeRomanConverter import IRomanNumber, RomanNumber class TestRomanNumber(unittest.TestCase): def setUp(self):