Skip to content
Snippets Groups Projects
Commit 88f9cba0 authored by Lasse Pikkemaat's avatar Lasse Pikkemaat
Browse files

Merge branch 'feature6' into 'develop'

Feature6

See merge request !6
parents 5ac8e6c8 aaf56c8e
No related branches found
No related tags found
2 merge requests!7Develop into main,!6Feature6
...@@ -11,7 +11,11 @@ class StringCalculator(IStringCalculator): ...@@ -11,7 +11,11 @@ class StringCalculator(IStringCalculator):
if "\n" not in numbers: if "\n" not in numbers:
raise ValueError("Ungültiges Format: Nicht vollständig") raise ValueError("Ungültiges Format: Nicht vollständig")
delimiter_end_index = numbers.index("\n") 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[delimiter_end_index + 1:]
numbers = numbers.replace(delimiter, ",") numbers = numbers.replace(delimiter, ",")
......
...@@ -19,6 +19,9 @@ ...@@ -19,6 +19,9 @@
#Feature5 Zahlen größer 1000 nicht erkennen #Feature5 Zahlen größer 1000 nicht erkennen
# Bei Eingabe von 2,1001 soll 2 ausgegeben werden # Bei Eingabe von 2,1001 soll 2 ausgegeben werden
# Bei Eingabe von 1002, 50200 soll 0 asugegeben 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 import unittest
...@@ -71,6 +74,10 @@ class TestStringCalculator(unittest.TestCase): ...@@ -71,6 +74,10 @@ class TestStringCalculator(unittest.TestCase):
self.assertEqual(self.calculator.add("2,1001"), 2) self.assertEqual(self.calculator.add("2,1001"), 2)
self.assertEqual(self.calculator.add("1002,50200"), 0) 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__": if __name__ == "__main__":
unittest.main() unittest.main()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment