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