diff --git a/.idea/StringCalculator.iml b/.idea/StringCalculator.iml
new file mode 100644
index 0000000000000000000000000000000000000000..d0876a78d06ac03b5d78c8dcdb95570281c6f1d6
--- /dev/null
+++ b/.idea/StringCalculator.iml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="PYTHON_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/src/interfaces.py b/src/interfaces.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..53246cf689694abc6d024abf602d890c37fb07f3 100644
--- a/src/interfaces.py
+++ b/src/interfaces.py
@@ -0,0 +1,6 @@
+from abc import ABC, abstractmethod
+
+class IStringCalculator(ABC):
+    @abstractmethod
+    def add(self, numbers: str) -> int:
+        pass
\ No newline at end of file
diff --git a/src/stringcalculator.py b/src/stringcalculator.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..41f666fdc4d0e39d619a00d678088cdbfca15376 100644
--- a/src/stringcalculator.py
+++ b/src/stringcalculator.py
@@ -0,0 +1,7 @@
+from src.interfaces import IStringCalculator
+
+class StringCalculator(IStringCalculator):
+    def add(self, numbers: str) -> int:
+        if not numbers:
+            return 0
+        return sum(map(int, numbers.split(',')))
\ No newline at end of file
diff --git a/tests/test_stringclaculator.py b/tests/test_stringclaculator.py
index b8e4935f3a5abe52c006b13965c8f9abf2433d46..f7c4c1221c4d42297357b1fccd3569a34afc3a21 100644
--- a/tests/test_stringclaculator.py
+++ b/tests/test_stringclaculator.py
@@ -2,4 +2,27 @@
 # Bei Eingabe keiner Zahl soll eine 0 ausgegeben werden
 # Bei Eingabe einer 1 soll 1 ausgegeben werden
 # Bei Eingabe einer 3,4 soll 7 ausgegeben werden
-# Bei Eingabe einer 10,20 soll 30 ausgegeben werden
\ No newline at end of file
+# Bei Eingabe einer 10,20 soll 30 ausgegeben werden
+
+import unittest
+from src.interfaces import IStringCalculator
+from src.stringcalculator import StringCalculator
+
+class TestStringCalculator(unittest.TestCase):
+    def setUp(self):
+        self.calculator: IStringCalculator = StringCalculator()  # Zugriff über das Interface
+
+    def test_add_empty_string(self):
+        self.assertEqual(self.calculator.add(""), 0)
+
+    def test_add_single_number(self):
+        self.assertEqual(self.calculator.add("1"), 1)
+
+    def test_add_two_numbers(self):
+        self.assertEqual(self.calculator.add("10,20"), 30)
+
+if __name__ == "__main__":
+    unittest.main()
+
+# python -m unittest tests.test_stringcalculator
+# python -m unittest discover -s tests
\ No newline at end of file