From 35a22558c1b7b6371910f9b85da7def5b823967f Mon Sep 17 00:00:00 2001 From: Marvin Serchimo <marvin.serchimo@student.reutlingen-university.de> Date: Fri, 28 Mar 2025 15:02:19 +0100 Subject: [PATCH] feature3 --- feature3 | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 feature3 diff --git a/feature3 b/feature3 new file mode 100644 index 0000000..b8c6ee0 --- /dev/null +++ b/feature3 @@ -0,0 +1,45 @@ +import re +import unittest + +class StringCalculator: + def add(self, numbers: str) -> int: + if not numbers: + return 0 + split_numbers = re.split(r",|\n", numbers) + number_list = [int(n) for n in split_numbers if n.strip() != ""] + return sum(number_list) + +class TestStringCalculator(unittest.TestCase): + """Test suite for the StringCalculator class.""" + + def setUp(self): + """neue Instanz des StringCalculators vor jedem Test """ + self.calculator = StringCalculator() + def test_empty_string_returns_zero(self): + + """Test: Leerer String soll 0 ergeben""" + self.assertEqual(self.calculator.add(""), 0) + + def test_single_number_returns_value(self): + + """Test: Ein einzelner Wert soll zurückgegeben werden""" + self.assertEqual(self.calculator.add("1"), 1) + + def test_two_numbers_return_sum(self): + + """Test: Zwei Zahlen sollen summiert werden""" + self.assertEqual(self.calculator.add("1,2"), 3) + + #feature 2 test + def test_add_multiple_numbers(self): + + self.assertEqual(self.calculator.add("1,2,3,4,5"), 15) + + #feature 3 test + def test_add_numbers_with_newlines(self): + + self.assertEqual(self.calculator.add("1\n2\n3"), 6) + + +if __name__=='__main__': + unittest.main() \ No newline at end of file -- GitLab