diff --git a/others/Wasili/WasiliStringCalculator.py b/others/Wasili/WasiliStringCalculator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cdc403a21db8e5bbc676e516a255248ad6bceacf
--- /dev/null
+++ b/others/Wasili/WasiliStringCalculator.py
@@ -0,0 +1,113 @@
+#Bei Eingabe des Strings "" liefert die Funktion 0
+#Bei Eingabe des Strings "1" liefert die Funktion 1
+#Bei Eingabe des Strings "1,2" liefert die Funktion 3
+#Bei Eingabe des Strings "1,2,3,4,5,6,7" liefert die Funkktion 28
+#Bei Eingabe des Strings "1\n2,3,4" liefert die Funkktion 10
+#Bei Eingabe des Strings "-5" liefert die Funkktion eine exception mit [“negatives not allowed” -5]
+#Bei Eingabe des Strings "-5,-2,-2" liefert die Funkktion eine exception mit [“negatives not allowed” -5,-2,-2]
+#Bei Eingabe des Strings "//;\n1;2" liefert die Funktion 3 wobei das Standard-Trennzeichen';' ist.
+#Bei Eingabe des Strings "2,1001" liefert die Funktion 2
+#Bei Eingabe des Strings "2,10022\n6" liefert die Funktion 8
+#Bei Eingabe des Strings "//[***]\n1***2***3" mit dem Trennzeichen '***' liefert die Funktion 6
+#Bei Eingabe des Strings "//[*+*+*]\n1*+*+*2*+*+*3*+*+*220" mit dem Trennzeichen '***' liefert die Funktion 226
+
+import unittest
+from abc import ABC, abstractmethod
+from src.stringcalculator import StringCalculator #Auskommentieren, falls andere Implementierung genutzt wird
+'''
+#Interface für StringCalculator
+class IStringCalculator(ABC):
+    @abstractmethod
+    def add(self, numbers:str) -> int:
+        pass
+
+#Implementierung der Calculator Klasse
+class StringCalculator(IStringCalculator):
+    def add(self, numbers:str) -> int:
+        if numbers == "":
+            return 0
+        
+        #Prüfen, ob ein benutzerdefiniertes Trennzeichen definiert wurde
+
+        if numbers.startswith("//"):
+            delimiter_end_index = numbers.index("\n") #Zeilenumbruchs Position finden
+            delimiter = numbers[2:delimiter_end_index] # Trennzeichen, also alles zwischen "//" und "\n" extrahieren
+
+            if delimiter.startswith("[") and delimiter.endswith("]"):
+                delimiter = delimiter[1:-1] # "[" und "]" entfernen
+
+            numbers = numbers[delimiter_end_index + 1:] #Zahlen nach "\n" extrahieren
+            numbers = numbers.replace(delimiter,",") #Benutzerdefiniertes Trennzeichen durch "," ersetzen
+
+        #Zeilenumbrüche ebenfals durch "," ersetzen
+        numbers = numbers.replace("\n",",")
+
+        # String anhand von Kommas splitten, eine Liste der einzelnen Zahlen(in str) erzeugen und in Int umwandeln -> Ergebnis wäre z.B. bei add("1\n2,3,4") -> [1,2,3,4]
+        num_list = list(map(int, numbers.split(",",)))
+
+        #Prüfung auf negative Zahlen
+        negatives = [n for n in num_list if n<0]
+        if negatives:
+            raise ValueError(f"negatives not allowed: {','.join(map(str, negatives))}") #Alle negativen Zahlen durch Kommas in getrennte Strings darstellen
+        
+        #Zahlen größer als 1000 aus Liste entfernen
+        num_list = [n for n in num_list if n <= 1000]
+
+        return sum(num_list) #Summe berechnen (bei einer Zahln wird immernoch dieselbe Zahl ausgegeben)
+    
+'''
+#mplementierung der Testklasse für StringCalculator
+class TestStringCalculator(unittest.TestCase):
+    def test_add_empty(self):
+        c = StringCalculator()
+        self.assertEqual(c.add(""), 0)
+
+    def test_add_one_string(self):
+        c = StringCalculator()
+        self.assertEqual(c.add("1"), 1)
+
+    def test_add_two_string(self):
+        c = StringCalculator()
+        self.assertEqual(c.add("1,2"), 3)
+
+    def test_add_multiple_string(self):
+        c = StringCalculator()
+        self.assertEqual(c.add("1,2,3,4,5,6,7"), 28)
+
+    def test_add_new_lines(self):
+        c = StringCalculator()
+        self.assertEqual(c.add("1\n2,3,4"), 10)
+
+    def test_add_exception(self):
+        c = StringCalculator()
+        with self.assertRaises(ValueError) as context:
+            c.add("-5")
+        self.assertEqual(str(context.exception), "negatives not allowed: -5")
+
+    def test_add_negative_numbers(self):
+        c = StringCalculator()
+        with self.assertRaises(ValueError) as context:
+            c.add("-5,-2,-2")
+        self.assertEqual(str(context.exception), "negatives not allowed: -5,-2,-2")
+
+    def test_add_different_delimiters(self):
+        c = StringCalculator()
+        self.assertEqual(c.add("//;\n1;2"), 3)
+
+    def test_add_numbers_greater_than_1000(self):
+        c = StringCalculator()
+        self.assertEqual(c.add("2,1001"),2)
+        self.assertEqual(c.add("2,10022\n6"),8)
+
+    def test_delimiters_of_any_length(self):
+        c = StringCalculator()
+        self.assertEqual(c.add("//[***]\n1***2***3"), 6)
+    
+    def test_delimiters_of_any_length2(self):
+        c = StringCalculator()
+        self.assertEqual(c.add("//[*+*+*]\n1*+*+*2*+*+*3*+*+*220"), 226)
+
+if __name__ == "__main__":
+    unittest.main()
+
+# python -m unittest others.Wasili.WasiliStringCalculator -v
\ No newline at end of file
diff --git a/others/Wasili/reportWasiliImp.md b/others/Wasili/reportWasiliImp.md
new file mode 100644
index 0000000000000000000000000000000000000000..de90e5366d3a7149eabf655983d6b5d2b4ea6e18
--- /dev/null
+++ b/others/Wasili/reportWasiliImp.md
@@ -0,0 +1,4 @@
+| Name   | Interface break | Failed Testcases                                                                                                                 |
+|--------|-----------------|----------------------------------------------------------------------------------------------------------------------------------|
+| Wasili | no              | test_add_multiple_negative_numbers (tests.testStringcalculator.TestStringCalculator) ... negatives not allowed: -10,-20,-30 FAIL |
+| Wasili | no              | test_add_single_negative_number (tests.testStringcalculator.TestStringCalculator) ... negatives not allowed: -2 FAIL             |
\ No newline at end of file
diff --git a/others/Wasili/reportWasiliTests.md b/others/Wasili/reportWasiliTests.md
new file mode 100644
index 0000000000000000000000000000000000000000..263b6e23bc3a053e44757b5f222165a01e752db3
--- /dev/null
+++ b/others/Wasili/reportWasiliTests.md
@@ -0,0 +1,4 @@
+| Name   | Interface break | Failed Testcases                                                                               |
+|--------|-----------------|------------------------------------------------------------------------------------------------|
+| Wasili | no              | test_add_exception (others.Wasili.WasiliStringCalculator.TestStringCalculator) ... FAIL        |
+| Wasili | no              | test_add_negative_numbers (others.Wasili.WasiliStringCalculator.TestStringCalculator) ... FAIL |
\ No newline at end of file
diff --git a/tests/testStringcalculator.py b/tests/testStringcalculator.py
index 75214d70193b2ecf8962e85e7313e6d2c55d2fcb..110ba77b00900b4f0d77757cc8c5694b784aa66c 100644
--- a/tests/testStringcalculator.py
+++ b/tests/testStringcalculator.py
@@ -33,9 +33,12 @@ Orlandos Code:
 import unittest
 from others.Orlando.OrlandoInterfaces import IStringCalculator
 from others.Orlando.OrlandoStringCalculator import StringCalculator
-'''
+
 import unittest
 from others.Dani.DaniStringCalculator import IStringCalculator, StringCalculator
+'''
+import unittest
+from others.Wasili.WasiliStringCalculator import IStringCalculator, StringCalculator
 
 class TestStringCalculator(unittest.TestCase):
     def setUp(self):