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] 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