From c775a1424713324b90846753fd2f4108c8751da7 Mon Sep 17 00:00:00 2001 From: Almmaa <Alma.Berisha@student.reutlingen-university.de> Date: Sat, 29 Mar 2025 00:48:05 +0100 Subject: [PATCH] init --- Feature1.py | 32 ++++++++++++++++++++++++++++++++ stringCalculator.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 Feature1.py create mode 100644 stringCalculator.py diff --git a/Feature1.py b/Feature1.py new file mode 100644 index 0000000..c2a76ec --- /dev/null +++ b/Feature1.py @@ -0,0 +1,32 @@ +from abc import ABC, abstractmethod +import unittest + +class IStringCalculator(ABC): + @abstractmethod + def add(self, numbers: str) -> int: + pass + +class StringCalculator(IStringCalculator): + def add(self, numbers: str) -> int: + if not numbers: + return 0 + return sum(map(int, numbers.split(','))) + +class TestStringCalculator(unittest.TestCase): + def setUp(self): + self.calculator = StringCalculator() + + def test_empty_string(self): + self.assertEqual(self.calculator.add(""), 0) + + def test_single_number(self): + self.assertEqual(self.calculator.add("1"), 1) + + def test_two_numbers(self): + self.assertEqual(self.calculator.add("1,2"), 3) + + def test_multiple_numbers(self): + self.assertEqual(self.calculator.add("1,2,3,4,5"), 15) + +if __name__ == "__main__": + unittest.main() diff --git a/stringCalculator.py b/stringCalculator.py new file mode 100644 index 0000000..f9a7682 --- /dev/null +++ b/stringCalculator.py @@ -0,0 +1,29 @@ +from abc import ABC, abstractmethod +import unittest + +class IStringCalculator(ABC): + @abstractmethod + def add(self, numbers: str) -> int: + pass + +class StringCalculator(IStringCalculator): + def add(self, numbers: str) -> int: + if not numbers: + return 0 + return sum(map(int, numbers.split(','))) + +class TestStringCalculator(unittest.TestCase): + def setUp(self): + self.calculator = StringCalculator() + + def test_empty_string(self): + self.assertEqual(self.calculator.add(""), 0) + + def test_single_number(self): + self.assertEqual(self.calculator.add("1"), 1) + + def test_two_numbers(self): + self.assertEqual(self.calculator.add("1,2"), 3) + +if __name__ == "__main__": + unittest.main() \ No newline at end of file -- GitLab