From e1ba37c2d8a5e02e2fe64ae9651a1200fa96552f Mon Sep 17 00:00:00 2001 From: linopino <lasse.pikkemaat@web.de> Date: Thu, 27 Mar 2025 18:08:14 +0100 Subject: [PATCH 1/2] Erstellung der Testszenarien von Feature6 --- tests/test_stringclaculator.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/test_stringclaculator.py b/tests/test_stringclaculator.py index a0c1d76..002343c 100644 --- a/tests/test_stringclaculator.py +++ b/tests/test_stringclaculator.py @@ -19,6 +19,9 @@ #Feature5 Zahlen größer 1000 nicht erkennen # Bei Eingabe von 2,1001 soll 2 ausgegeben werden # Bei Eingabe von 1002, 50200 soll 0 asugegeben werden +#Feature6 Begrenzungszeichen beliebig lang +# Bei Eingabe von //[**]\n1**2**3 soll 6 ausgegeben werden +# Bei Eingabe von //[###]\n10###20###30 soll 60 ausgegeben werden import unittest -- GitLab From aaf56c8ecbbb71fc0fb82d08c322cc80800d886d Mon Sep 17 00:00:00 2001 From: linopino <lasse.pikkemaat@web.de> Date: Thu, 27 Mar 2025 18:12:41 +0100 Subject: [PATCH 2/2] Umsetzung der Testszenarien von Feature6 --- src/stringcalculator.py | 6 +++++- tests/test_stringclaculator.py | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/stringcalculator.py b/src/stringcalculator.py index 4b8e76f..fc7e89a 100644 --- a/src/stringcalculator.py +++ b/src/stringcalculator.py @@ -11,7 +11,11 @@ class StringCalculator(IStringCalculator): if "\n" not in numbers: raise ValueError("Ungültiges Format: Nicht vollständig") delimiter_end_index = numbers.index("\n") - delimiter = numbers[2:delimiter_end_index] + delimiter_part = numbers[2:delimiter_end_index] + if delimiter_part.startswith("[") and delimiter_part.endswith("]"): + delimiter = delimiter_part[1:-1] + else: + delimiter = delimiter_part numbers = numbers[delimiter_end_index + 1:] numbers = numbers.replace(delimiter, ",") diff --git a/tests/test_stringclaculator.py b/tests/test_stringclaculator.py index 002343c..e2e765b 100644 --- a/tests/test_stringclaculator.py +++ b/tests/test_stringclaculator.py @@ -74,6 +74,10 @@ class TestStringCalculator(unittest.TestCase): self.assertEqual(self.calculator.add("2,1001"), 2) self.assertEqual(self.calculator.add("1002,50200"), 0) + def test_add_with_custom_delimiter_multiple_characters(self): + self.assertEqual(self.calculator.add("//[**]\n1**2**3"), 6) + self.assertEqual(self.calculator.add("//[###]\n10###20###30"), 60) + if __name__ == "__main__": unittest.main() -- GitLab