diff --git a/src/stringcalculator.py b/src/stringcalculator.py index f48f2e8c85d9b1acc3b6bd36299155789d269fa1..6f4baac94d13fa1f89233ddd9ef4cf7a680f4978 100644 --- a/src/stringcalculator.py +++ b/src/stringcalculator.py @@ -1,5 +1,4 @@ from src.interfaces import IStringCalculator -import re class StringCalculator(IStringCalculator): def add(self, numbers: str) -> int: @@ -33,3 +32,10 @@ class StringCalculator(IStringCalculator): numbers_list = [num for num in numbers_list if num <= 1000] return sum(numbers_list) + +''' +Änderung damit die Tests mit den negativen Zahlen durchlaufen: + negative_numbers = [num for num in numbers_list if num < 0] + if negative_numbers: + raise ValueError(f"negatives not allowed: {','.join(map(str, negative_numbers))}") +''' \ No newline at end of file diff --git a/tests/testStringcalculator.py b/tests/testStringcalculator.py index 7c74a518989b4e21b98fff0d83db1a5dc8949624..41e5f9381afa1296b4303062b0f04e045c106957 100644 --- a/tests/testStringcalculator.py +++ b/tests/testStringcalculator.py @@ -23,13 +23,12 @@ # Bei Eingabe von //[**]\n1**2**3 soll 6 ausgegeben werden # Bei Eingabe von //[###]\n10###20###30 soll 60 ausgegeben werden -''' -Eigener Code: + import unittest from src.interfaces import IStringCalculator from src.stringcalculator import StringCalculator -Orlandos Code: +''' import unittest from others.Orlando.OrlandoInterfaces import IStringCalculator from others.Orlando.OrlandoStringCalculator import StringCalculator @@ -48,10 +47,10 @@ from others.Alma.AlmaStringCalculator import IStringCalculator, StringCalculator import unittest from others.Marvin.MarvinStringCalculator import StringCalculator -''' + import unittest from others.Hatice.HaticeStringCalculator import IStringCalculator, StringCalculator - +''' class TestStringCalculator(unittest.TestCase): def setUp(self): self.calculator: IStringCalculator = StringCalculator() # Zugriff über das Interface @@ -106,4 +105,13 @@ if __name__ == "__main__": unittest.main() # python -m unittest tests.testStringcalculator -v -# python -m unittest discover -s tests -v \ No newline at end of file +# python -m unittest discover -s tests -v +''' +Keine strikte Typprüfung zur Laufzeit + +In der Methode setUp() hast du die Zuweisung: +self.calculator: IStringCalculator = StringCalculator() + +-Das : IStringCalculator ist nur ein Typ-Hinweis (Type Hint), aber Python überprüft das nicht zur Laufzeit. +-Python ignoriert den Typ-Hinweis und weist self.calculator einfach die Instanz von StringCalculator zu. +''' \ No newline at end of file