From 7f18b4f8ec336efc81a3145f06633430096ddc1d Mon Sep 17 00:00:00 2001 From: Marvin Serchimo <marvin.serchimo@student.reutlingen-university.de> Date: Fri, 28 Mar 2025 14:28:40 +0100 Subject: [PATCH] feature 2 --- feature2 | 38 ++++++++++++++++++++++++++++++++++++++ string_calculator | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 feature2 create mode 100644 string_calculator diff --git a/feature2 b/feature2 new file mode 100644 index 0000000..86e9f38 --- /dev/null +++ b/feature2 @@ -0,0 +1,38 @@ +import unittest + +class StringCalculator: + def add(self, numbers: str) -> int: + if not numbers: + return 0 + + number_list = [int(n) for n in numbers.split(",") 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) + + def test_add_multiple_numbers(self): + + self.assertEqual(self.calculator.add("1,2,3,4,5"), 15) + + +if __name__=='__main__': + unittest.main() \ No newline at end of file diff --git a/string_calculator b/string_calculator new file mode 100644 index 0000000..46ec5a9 --- /dev/null +++ b/string_calculator @@ -0,0 +1,33 @@ +import unittest + +class StringCalculator: + def add(self, numbers: str) -> int: + if not numbers: + return 0 + + number_list = [int(n) for n in numbers.split(",") 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) + +if __name__=='__main__': + unittest.main() \ No newline at end of file -- GitLab