diff --git a/feature3 b/feature3 new file mode 100644 index 0000000000000000000000000000000000000000..b8c6ee0711bbe85f9bf66b3f4c887584fe303ac6 --- /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