diff --git a/converter.py b/converter.py index 0387c4585c1959f2bc951cec290e29dcc8b6de6c..69588feea366221b68f911ebb1e17214592583e8 100644 --- a/converter.py +++ b/converter.py @@ -19,7 +19,7 @@ # Bei Eingabe von negativen Werten (z.B. -5) soll "Es sind nur positive Zahlen zum konvertieren erlaubt" ausgegeben werden # Bei Eingabe der Zahl 2025 soll "MMXXV" ausgegeben werden # Bei Eingabe von Zeichen wie ! soll "Bitte ganze Zahlen eingeben" ausgegeben werden -# Bei Eingabe mehrerer Zahlen wie 4, 3 soll IV, III augegeben werden +# Bei Eingabe mehrerer Zahlen wie 4, 3 soll "Bitte nur eine ganze Zahl eingeben" augegeben werden import unittest from abc import ABC, abstractmethod @@ -31,6 +31,11 @@ class IConverter(ABC): class Converter(IConverter): def convert(self, num: int) -> str: + + '''Sicherstellen, dass nur eine ganze Zahl eingegeben wurde.''' + if isinstance(num, str) and len(num.split(',')) > 1: + return 'Bitte nur eine ganze Zahl eingeben' + roman_numbers = [(1000, 'M'), (500, 'D'), (100, 'C'), (90, 'XC'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] roman_str = '' @@ -40,7 +45,10 @@ class Converter(IConverter): return "Es gibt keine römische Null" + '''Sicherstellen, dass keine Zeichen oder Strings eingegeben werden''' if isinstance(num, int): + + '''Sicherstellen, dass keine negativen Zahlen eingegeben werden''' if num < 0: return "Es sind nur positive Zahlen zum konvertieren erlaubt" @@ -143,6 +151,9 @@ class TestConverter(unittest.TestCase): res = self.c.convert('!') self.assertEqual(res, "Bitte ganze Zahlen eingeben") + def test_convertMultipleNum(self): + res = self.c.convert('4, 3') + self.assertEqual(res, "Bitte nur eine ganze Zahl eingeben") if __name__ == "__main__":