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