From b8ab3a4ecc6444b8b6da745a0fb947a0a112f7c9 Mon Sep 17 00:00:00 2001 From: linopino <lasse.pikkemaat@web.de> Date: Wed, 26 Mar 2025 23:16:13 +0100 Subject: [PATCH 1/2] Erstellung der Testszenarien von Feature2 --- tests/test_stringclaculator.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/test_stringclaculator.py b/tests/test_stringclaculator.py index c428c05..34863d4 100644 --- a/tests/test_stringclaculator.py +++ b/tests/test_stringclaculator.py @@ -3,11 +3,12 @@ # Bei Eingabe einer 1 soll 1 ausgegeben werden # Bei Eingabe einer 3,4 soll 7 ausgegeben werden # Bei Eingabe einer 10,20 soll 30 ausgegeben werden -#Feature1 +#Feature1 Längere Zahlenfolge # Bei Eingabe einer 1,2,3 soll 6 ausgegeben werden # Bei Eingabe einer 10,20,30,40 soll 100 ausgegeben werden -#Feature2 -# Bei Eingabe einer +#Feature2 Neues Trennzeichen neben dem Komma +# Bei Eingabe von 1\n2,3 soll 6 ausgegeben werden +# Bei Eingabe von 10\n20\n30 soll 60 ausgegeben werden import unittest from src.interfaces import IStringCalculator -- GitLab From fcafdbfd82b75dc8112bd9e371add03d2c8b8c85 Mon Sep 17 00:00:00 2001 From: linopino <lasse.pikkemaat@web.de> Date: Wed, 26 Mar 2025 23:27:02 +0100 Subject: [PATCH 2/2] Umsetzung der Testszenarien von Feature2 --- src/stringcalculator.py | 8 +++++++- tests/test_stringclaculator.py | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/stringcalculator.py b/src/stringcalculator.py index 41f666f..748f0de 100644 --- a/src/stringcalculator.py +++ b/src/stringcalculator.py @@ -1,7 +1,13 @@ from src.interfaces import IStringCalculator +import re + class StringCalculator(IStringCalculator): def add(self, numbers: str) -> int: if not numbers: return 0 - return sum(map(int, numbers.split(','))) \ No newline at end of file + + # Erlaubt Kommas und Zeilenumbrüche als Trennzeichen + tokens = re.split(r"[,\n]", numbers) + + return sum(map(int, tokens)) \ No newline at end of file diff --git a/tests/test_stringclaculator.py b/tests/test_stringclaculator.py index 34863d4..dbafdfe 100644 --- a/tests/test_stringclaculator.py +++ b/tests/test_stringclaculator.py @@ -31,6 +31,10 @@ class TestStringCalculator(unittest.TestCase): self.assertEqual(self.calculator.add("1,2,3"), 6) self.assertEqual(self.calculator.add("10,20,30,40"), 100) + def test_add_with_newline_separator(self): + self.assertEqual(self.calculator.add("1\n2,3"), 6) + self.assertEqual(self.calculator.add("10\n20\n30"), 60) + if __name__ == "__main__": unittest.main() -- GitLab