From 6e52d64d238818fbc610a51a411e6cc505c3fda0 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 15:29:35 +0100 Subject: [PATCH] Test 17/17 erfolgreich -- Testliste jedoch nochmals angepasst (3 neue Testcases) --- converter.py | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/converter.py b/converter.py index d705b46..6d6f0fb 100644 --- a/converter.py +++ b/converter.py @@ -14,7 +14,9 @@ # Bei Eingabe der Zahl 99 soll "XCIX" ausgegeben werden # Bei Eingabe der Zahl 0 soll "Es gibt keine römische Null" ausgegeben werden # Bei Eingabe der Zahl 40 soll "XL" ausgegeben werden -# Bei Eingabe des Strings 'IV' soll 4 ausgegenen werden +# Bei Eingabe eines Strings soll "Bitte ganze Zahlen eingeben" ausgegeben werden -> geändert aufgrund der Aufgabenstellung +# Bei Eingabe von Float-Werten (z.B. 4,3) soll "Bitte ganze Zahlen eingeben" ausgegeben werden. +# Bei Eingabe von negativen Werten (z.B. -5) soll "Es sind nur positive Zahlen zum konvertieren erlaubt" ausgegeben werden import unittest from abc import ABC, abstractmethod @@ -30,16 +32,25 @@ class Converter(IConverter): roman_str = '' + '''Wenn eine 0 eingegeben wird muss eine Exception folgen''' if num == 0: return "Es gibt keine römische Null" + + + if isinstance(num, int): + if num < 0: + return "Es sind nur positive Zahlen zum konvertieren erlaubt" + + for value, numeral in roman_numbers: - for value, numeral in roman_numbers: + while num >= value: + roman_str += numeral + num -= value - while num >= value: - roman_str += numeral - num -= value + return roman_str + else: + return "Bitte ganze Zahlen eingeben" - return roman_str class TestConverter(unittest.TestCase): def setUp(self): @@ -109,8 +120,9 @@ class TestConverter(unittest.TestCase): res = self.c.convert(40) self.assertEqual(res, 'XL') - - + def test_convertString(self): + res = self.c.convert('HUIHIN') + self.assertEqual(res, "Bitte ganze Zahlen eingeben") if __name__ == "__main__": unittest.main() -- GitLab