diff --git a/Project_Test/other/AliciMuhamed/StringCalculator.py b/Project_Test/other/AliciMuhamed/StringCalculator.py
new file mode 100644
index 0000000000000000000000000000000000000000..fc44a5aa2e889ec677e3551e4659dcd805a9cb33
--- /dev/null
+++ b/Project_Test/other/AliciMuhamed/StringCalculator.py
@@ -0,0 +1,136 @@
+#vorher im anderen projekt jetzt im neuen projekt
+#test no string
+#test add 1 string
+#test adding 2 strings
+
+#add 3 strings
+#add 4 strings
+#add 6 strings
+
+#\n statt , bei 2 strings
+#\n statt , bei mehreren strings
+
+# eine negative zahl
+# mehrere negative zahlen
+
+# Delimiters:
+# add numbers seperated by a custom delimiter
+# Test with - Numbers
+
+#numbers over 1000 should be ignored
+#1001 + 2 should return 2
+#1001 -2 should return negatives not allowed
+
+#custom delimiters
+#input "//[***]\n1***2***3"
+#output 6
+
+import unittest
+import re
+
+class StringCalculator:
+    def __init__(self):
+        self.called_count = 0
+    def add (self, numbers : str)-> int: #Erwartet Integer
+        if not numbers:
+            return 0
+        
+        if numbers.startswith("//"):
+            delimiter_end_index = numbers.index("\n")
+            delimiter_section = numbers[2:delimiter_end_index]
+            numbers = numbers[delimiter_end_index +1:]
+            
+            if delimiter_section.startswith("[")and delimiter_section.endswith("]"):
+                delimiters = re.findall(r'\[([^\]]+)\]',delimiter_section)
+            else:
+                delimiters= [delimiter_section]
+
+            for delimiters in delimiters:
+                numbers = numbers.replace(delimiters,",")
+
+        numbers = numbers.replace("\n",",")
+            
+        number_list = numbers.split(',')#aufteilung der strings
+        negative = [] #array für die negativen nummern
+        numbers_to_add = []
+            #total_sum = 0
+        for number_str in number_list: #jedes element in der liste wird durch genommen
+                #if number_str:
+            number = int(number_str)# summierung der integer
+            if number <0:
+                negative.append(number)
+            elif number > 1000:
+                continue
+            else:
+                numbers_to_add.append(number)
+                    #total_sum += number
+
+        if negative:
+            print(f"Negative Zahlen:{negative} ")#ausgabe negative zahlen
+            raise ValueError(f"negatives not allowed: {','.join(map(str, negative))}")
+        self.called_count += 1
+        return sum(numbers_to_add)
+    def get_called_count(self):
+        return self.called_count
+        
+    
+class TestStingCalculator(unittest.TestCase):
+    def setUp(self):
+        self.calculator = StringCalculator()     
+    def test_empty_string(self):
+        self.assertEqual(self.calculator.add(""), 0) #leerer string + 0
+    def test_single_number(self):
+        self.assertEqual(self.calculator.add("5"),5) #eingabe von einem String
+    def test_multiple_numbers(self):
+        self.assertEqual(self.calculator.add("5,5"),10)#eingabe mehrere strings
+    def test_unknowen_amount_of_numbers(self):
+        self.assertEqual(self.calculator.add("1,2,3"),6)
+        self.assertEqual(self.calculator.add("10,20,30,40"),100)
+        self.assertEqual(self.calculator.add("1,2,3,4,5,6"),21)
+    def test_numbers_seperated_by_newline(self):
+        self.assertEqual(self.calculator.add("1\n2"),3)
+        self.assertEqual(self.calculator.add("1\n2\n3"),6)
+        self.assertEqual(self.calculator.add("10,20\n30"),60)
+
+    def test_negative_number_exception(self):
+
+        with self.assertRaises(ValueError) as e:
+            self.calculator.add("-1,2")
+        self.assertEqual(str(e.exception), "negatives not allowed: -1")
+    def test_multiple_negative_numbers_exception(self):
+        with self.assertRaises(ValueError)as e:
+            self.calculator.add("-1,-2,3")
+        self.assertEqual(str(e.exception),"negatives not allowed: -1,-2")
+        with self.assertRaises(ValueError) as e:
+            self.calculator.add("-1,-3,4")
+        self.assertEqual(str(e.exception),"negatives not allowed: -1,-3")
+
+        with self.assertRaises(ValueError) as e:
+            self.calculator.add("-1\n-3,4")
+        self.assertEqual(str(e.exception),"negatives not allowed: -1,-3")
+    def test_add_numbers_with_custom_delimiter(self):
+        self.assertEqual(self.calculator.add("//;\n1;2;3"),6)
+        self.assertEqual(self.calculator.add("//;\n1,2,3"),6)
+        with self.assertRaises(ValueError) as e:
+            self.calculator.add("//;\n-3,4")
+        self.assertEqual(str(e.exception),"negatives not allowed: -3")
+    
+    def test_add_numbers_greater_than_1000(self):
+        self.assertEqual(self.calculator.add("1,1001,2,3"),6)
+    def test_add_numbers_greater_than_1000_1002(self):
+        self.assertEqual(self.calculator.add("1002,1,2,3"),6)
+    def test_add_numbers_greater_1000_and_minus(self):
+        with self.assertRaises(ValueError) as e:
+            self.calculator.add("//;\n-3,4;1001")
+        self.assertEqual(str(e.exception),"negatives not allowed: -3")
+    def test_custom_delimiter(self):
+        self.assertEqual(self.calculator.add("//[***]\n1***2***3"),6)
+    def test_custom_del(self):
+        self.assertEqual(self.calculator.add("//[+++]\n1+++2+++3"),6)
+    def test_custom_del2(self):
+        self.assertEqual(self.calculator.add("//[aa]\n1aa2aa3"),6)
+        
+        
+
+if __name__=='__main__':
+    unittest.main()
\ No newline at end of file
diff --git a/Project_Test/other/AliciMuhamed/__pycache__/StringCalculator.cpython-312.pyc b/Project_Test/other/AliciMuhamed/__pycache__/StringCalculator.cpython-312.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..117038d194d60d65df21c8d25923b9ea6824b32a
Binary files /dev/null and b/Project_Test/other/AliciMuhamed/__pycache__/StringCalculator.cpython-312.pyc differ
diff --git a/Project_Test/other/BerishaAlma/Feature6.py b/Project_Test/other/BerishaAlma/Feature6.py
new file mode 100644
index 0000000000000000000000000000000000000000..0f35297ebc07e1bd3d13bb70713f3ecbe5b9f33a
--- /dev/null
+++ b/Project_Test/other/BerishaAlma/Feature6.py
@@ -0,0 +1,94 @@
+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
+        
+        # Überprüfe, ob ein benutzerdefiniertes Trennzeichen angegeben ist
+        if numbers.startswith("//"):
+            delimiter_line_end = numbers.find("\n")
+            delimiter = numbers[2:delimiter_line_end]  # Extrahiere das Trennzeichen
+            numbers = numbers[delimiter_line_end + 1:]  # Entferne die erste Zeile mit dem Trennzeichen
+            
+        else:
+            delimiter = ','  # Standard-Trennzeichen ist Komma, wenn keine Zeile mit dem Trennzeichen vorhanden ist
+
+        # Ersetze alle Vorkommen des Trennzeichens und teile die Eingabe
+        numbers = numbers.replace("\n", delimiter)
+        nums = numbers.split(delimiter)
+        
+        # Filtere alle Zahlen, die größer als 1000 sind
+        nums = [int(num) for num in nums if int(num) <= 1000]
+        
+        # Prüfe auf negative Zahlen
+        negatives = [num for num in nums if num < 0]
+        
+        if negatives:
+            # Wenn negative Zahlen vorhanden sind, werfe eine Ausnahme
+            raise ValueError(f"Negatives not allowed: {', '.join(map(str, negatives))}")
+        
+        # Berechne die Summe der Zahlen, die <= 1000 sind
+        return sum(nums)
+
+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)
+    
+    def test_numbers_with_newline(self):
+        self.assertEqual(self.calculator.add("1\n2,3"), 6)
+    
+    def test_numbers_with_multiple_newlines(self):
+        self.assertEqual(self.calculator.add("1\n2\n3\n4\n5"), 15)
+    
+    def test_negative_number(self):
+        with self.assertRaises(ValueError) as context:
+            self.calculator.add("1,-2,3")
+        self.assertEqual(str(context.exception), "Negatives not allowed: -2")
+    
+    def test_multiple_negative_numbers(self):
+        with self.assertRaises(ValueError) as context:
+            self.calculator.add("1,-2,-3,4")
+        self.assertEqual(str(context.exception), "Negatives not allowed: -2, -3")
+    
+    def test_custom_delimiter(self):
+        self.assertEqual(self.calculator.add("//;\n1;2"), 3)
+    
+    def test_custom_delimiter_with_newline(self):
+        self.assertEqual(self.calculator.add("//;\n1;2\n3"), 6)
+    
+    def test_custom_delimiter_with_multiple_numbers(self):
+        self.assertEqual(self.calculator.add("//|\n1|2|3|4"), 10)
+    
+    def test_numbers_greater_than_1000(self):
+        self.assertEqual(self.calculator.add("2,1001"), 2)
+    
+    def test_numbers_greater_than_1000_with_custom_delimiter(self):
+        self.assertEqual(self.calculator.add("//;\n2;1001"), 2)
+    
+    def test_long_delimiter(self):
+        self.assertEqual(self.calculator.add("//[***]\n1***2***3"), 6)
+    
+    def test_long_delimiter_with_multiple_numbers(self):
+        self.assertEqual(self.calculator.add("//[---]\n1---2---3---4"), 10)
+
+if __name__ == "__main__":
+    unittest.main()
\ No newline at end of file
diff --git a/Project_Test/other/GotsisWasilios/TDD_StringCalculator.py b/Project_Test/other/GotsisWasilios/TDD_StringCalculator.py
new file mode 100644
index 0000000000000000000000000000000000000000..ab815fa39c47d98569acffd1e808502bcb285a94
--- /dev/null
+++ b/Project_Test/other/GotsisWasilios/TDD_StringCalculator.py
@@ -0,0 +1,110 @@
+#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
+
+#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()
diff --git a/Project_Test/other/PikkemaatLasse/stringcalculator.py b/Project_Test/other/PikkemaatLasse/stringcalculator.py
new file mode 100644
index 0000000000000000000000000000000000000000..d4f0263f680e206aa5f4b668a704b385f58881cc
--- /dev/null
+++ b/Project_Test/other/PikkemaatLasse/stringcalculator.py
@@ -0,0 +1,100 @@
+import re
+
+from abc import ABC, abstractmethod
+
+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
+
+        if numbers.startswith("//"):
+            if "\n" not in numbers:
+                raise ValueError("Ungültiges Format: Nicht vollständig")
+            delimiter_end_index = numbers.index("\n")
+            delimiter_part = numbers[2:delimiter_end_index]
+            if delimiter_part.startswith("[") and delimiter_part.endswith("]"):
+                delimiter = delimiter_part[1:-1]
+            else:
+                delimiter = delimiter_part
+            numbers = numbers[delimiter_end_index + 1:]
+            numbers = numbers.replace(delimiter, ",")
+
+        numbers = numbers.replace("\n", ",")
+
+        # Split the string by commas, convert each value to an integer, and sum them up
+        try:
+            numbers_list = list(map(int, numbers.split(",")))
+        except ValueError:
+            raise ValueError("Ungültiges Zahlenformat: Enthält nicht-numerische Werte")
+
+        negative_numbers = [num for num in numbers_list if num < 0]
+        if negative_numbers:
+            raise ValueError(f"Negative nicht erlaubt: {negative_numbers}")
+
+        numbers_list = [num for num in numbers_list if num <= 1000]
+
+        return sum(numbers_list)
+    
+
+import unittest
+
+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)
+
+    def test_add_multiple_numbers(self):
+        self.assertEqual(self.calculator.add("1,2,3"), 6)
+        self.assertEqual(self.calculator.add("10,20,30,40"), 100)
+
+    def test_add_with_newline_separator(self):
+        self.assertEqual(self.calculator.add("1\n2,3"), 6)
+        self.assertEqual(self.calculator.add("10\n20\n30"), 60)
+
+    def test_add_single_negative_number(self):
+        with self.assertRaises(ValueError) as context:
+            self.calculator.add("1,-2,3")
+        print(str(context.exception))
+        self.assertEqual(str(context.exception), "Negative nicht erlaubt: [-2]")
+
+    def test_add_multiple_negative_numbers(self):
+        with self.assertRaises(ValueError) as context:
+            self.calculator.add("-10\n-20,-30")
+        print(str(context.exception))
+        self.assertEqual(str(context.exception), "Negative nicht erlaubt: [-10, -20, -30]")
+
+    def test_add_with_custom_delimiter(self):
+        self.assertEqual(self.calculator.add("//;\n1;2"), 3)
+        self.assertEqual(self.calculator.add("//x\n7x8\n9"), 24)
+
+    def test_invalid_custom_delimiter_format(self):
+        with self.assertRaises(ValueError) as context:
+            self.calculator.add("//;1;2")
+        print(str(context.exception))
+
+    def test_ignore_numbers_greater_than_1000(self):
+        self.assertEqual(self.calculator.add("2,1001"), 2)
+        self.assertEqual(self.calculator.add("1002,50200"), 0)
+
+    def test_add_with_custom_delimiter_multiple_characters(self):
+        self.assertEqual(self.calculator.add("//[**]\n1**2**3"), 6)
+        self.assertEqual(self.calculator.add("//[###]\n10###20###30"), 60)
+
+if __name__ == "__main__":
+    unittest.main()
+
+# python -m unittest tests.test_stringcalculator
+# python -m unittest discover -s tests -v
\ No newline at end of file
diff --git a/Project_Test/other/SerchimoMarvin/feature7.py b/Project_Test/other/SerchimoMarvin/feature7.py
new file mode 100644
index 0000000000000000000000000000000000000000..92de9259e2cee84a471e28f08d93682e34514b38
--- /dev/null
+++ b/Project_Test/other/SerchimoMarvin/feature7.py
@@ -0,0 +1,127 @@
+import re 
+import unittest
+
+class StringCalculator:
+    def add(self, numbers: str) -> int:
+        # Feature 1: Leerer String ergibt 0
+        if not numbers:
+            return 0
+        
+        
+
+        # Vorbereitung für weiter features 
+        delimiters = [",", "\n"]
+        if numbers.startswith("//"):
+            delimiter_end_index = numbers.index("\n")
+            delimiter_section = numbers[2:delimiter_end_index]
+            numbers = numbers[delimiter_end_index + 1:]
+
+         # Feature 7: Delimiter beliebiger Länge im Format //[***]
+            if delimiter_section.startswith("[") and delimiter_section.endswith("]"):
+                delimiter = re.escape(delimiter_section[1:-1])
+            else:
+                delimiter = re.escape(delimiter_section)
+
+            delimiters.append(delimiter)
+
+        # Feature 3: Erlaube Zeilenumbrüche als Trenner
+        split_pattern = "|".join(delimiters)
+        number_list = re.split(split_pattern, numbers)
+
+
+        
+
+        # Feature 4: Negativzahlen abfangen
+        negatives = []
+        for num in number_list:
+            if num.strip() != "":
+                value = int(num)
+                if value < 0:
+                    negatives.append(value)
+
+        # Exception bei negativen Zahlen
+        if negatives:
+            raise ValueError(f"Negative numbers are not allowed: {', '.join(map(str, negatives))}")
+
+        # Feature 2: Beliebig viele Zahlen summieren
+        return sum(int(n) for n in number_list if n.strip() != "" and int(n) <= 1000)
+
+
+
+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):
+        """Feature 1: Leerer String soll 0 ergeben"""
+        self.assertEqual(self.calculator.add(""), 0)
+
+    def test_single_number_returns_value(self):
+        """Ein einzelner Wert soll zurückgegeben werden"""
+        self.assertEqual(self.calculator.add("1"), 1)
+
+    def test_two_numbers_return_sum(self):
+        """Zwei Zahlen sollen summiert werden"""
+        self.assertEqual(self.calculator.add("1,2"), 3)
+
+    def test_add_multiple_numbers(self):
+        """Feature 2: Mehrere Zahlen summieren"""
+        self.assertEqual(self.calculator.add("1,2,3,4,5"), 15)
+
+    def test_add_numbers_with_newlines(self):
+        """Feature 3: Zeilenumbrüche als Trennzeichen"""
+        self.assertEqual(self.calculator.add("1\n2\n3"), 6)
+
+    def test_add_negative_numbers(self):
+        """Feature 4: Negative Zahlen sollen Fehler werfen"""
+        with self.assertRaises(ValueError) as e:
+            self.calculator.add("-1,2,-3")
+        self.assertEqual(str(e.exception), "Negative numbers are not allowed: -1, -3")
+
+    def test_add_numbers_with_custom_delimiter(self):
+        """Feature 5: Benutzerdefiniertes Trennzeichen"""
+        self.assertEqual(self.calculator.add("//;\n1;2;3"), 6)    
+
+    def test_add_numbers_with_custom_delimiter_different_symbol(self):
+        """Feature 5: Benutzerdefiniertes Trennzeichen mit anderem Symbol"""
+        self.assertEqual(self.calculator.add("//#\n4#5#6"), 15)
+
+    def test_custom_delimiter_with_multiple_numbers(self):
+        """
+        Kombinierter Test für:
+        feature 5 und feature 2
+        Erwartet wird die korrekte Addition von sechs durch ein benutzerdefiniertes Zeichen getrennten Zahlen.
+        """
+        self.assertEqual(self.calculator.add("//:\n1:2:3:4:5:6"), 21)    
+
+    def test_add_numbers_greater_than_1000(self):
+        """Feature6 test"""
+        self.assertEqual(self.calculator.add("1,1001,2,3"), 6)
+
+    def test_add_numbers_with_newlines_and_ignore_above_1000(self):
+        """Feature 3 und 6 test Zeilenumbruch als trenner, Zahlen>1000 ignorieren"""
+        self.assertEqual(self.calculator.add("1\n2\n1000\n1001"), 1003)
+    
+    def test_add_numbers_with_custom_delimiter_long_length(self):
+        """Benutzerdefinierte Trennzeichen beliebig lang """
+        self.assertEqual(self.calculator.add("//[***]\n1***2***3"), 6)
+
+    def test_custom_long_delimiter_with_large_number_ignored(self):
+        """FEature 6 und 7 test Benutzerdefinierte Delimiter Länge und zahl über 1000 wird ignoriert"""
+        self.assertEqual(self.calculator.add("//[***]\n1***1001***2"), 3) 
+        
+    def test_custom_long_delimiter_with_negative_numbers(self):
+        """Feature 4 und 7: Benutzerdefinierter Delimiter beliebiger Länge + negative Zahlen"""
+        with self.assertRaises(ValueError) as e:
+             self.calculator.add("//[***]\n1***-2***3***-4")
+        self.assertEqual(str(e.exception), "Negative numbers are not allowed: -2, -4")
+    
+    
+
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/Project_Test/other/WeishauptOrlando/string_calculator.py b/Project_Test/other/WeishauptOrlando/string_calculator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cf19738d586868b4eea064f5b3c32627e078b555
--- /dev/null
+++ b/Project_Test/other/WeishauptOrlando/string_calculator.py
@@ -0,0 +1,120 @@
+# Implementierung von IStringCalculator
+from abc import ABC, abstractmethod
+
+# Definition des Interfaces für den StringCalculator
+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
+
+        delimiter = ","
+
+
+        if numbers.startswith("//"):
+            header, numbers = numbers.split("\n", 1)
+
+            # Mehrzeichen-Delimiter: z. B. //[***]
+            if header.startswith("//[") and header.endswith("]"):
+                delimiter = header[3:-1]  # Extrahiere z. B. "***"
+            else:
+                delimiter = header[2:]  # Einzeichen-Delimiter
+
+        # Ersetze \n durch Komma (Standard)
+        numbers = numbers.replace("\n", ",")
+
+        # Delimiter ersetzen durch Komma (evtl. mehrere Zeichen)
+        numbers = numbers.replace(delimiter, ",")
+
+        number_list = numbers.split(",")
+
+        # Ignoriere leere oder whitespace-only Einträge
+        cleaned_numbers = [
+            int(n.strip()) for n in number_list if n.strip() != ""
+        ]
+
+        # Negativ-Prüfung
+        negatives = [n for n in cleaned_numbers if n < 0]
+        if negatives:
+            raise ValueError(f"negatives not allowed: {', '.join(map(str, negatives))}")
+
+        # Zahlen > 1000 ignorieren
+        cleaned_numbers = [n for n in cleaned_numbers if n <= 1000]
+
+        return sum(cleaned_numbers)
+    
+import unittest
+
+class TestStringCalculator(unittest.TestCase):
+    def setUp(self):
+        # Vor jedem Test wird eine Instanz des Calculators erstellt
+        self.calc = StringCalculator()
+
+    def test_add_empty_string(self):
+        # Leerer String → 0
+        self.assertEqual(self.calc.add(""), 0)
+
+    def test_add_single_number(self):
+        # Ein einzelner Wert → int
+        self.assertEqual(self.calc.add("1"), 1)
+
+    def test_add_two_numbers(self):
+        # Zwei Zahlen → Summe
+        self.assertEqual(self.calc.add("1,2"), 3)
+
+    def test_add_multiple_numbers(self):
+        # Mehr als zwei Zahlen → Summe
+        self.assertEqual(self.calc.add("1,2,3"), 6)
+        self.assertEqual(self.calc.add("1,2,3,4,5"), 15)
+
+    def test_add_ignores_empty_entries(self):
+        # Leere Einträge ignorieren → Summe
+        self.assertEqual(self.calc.add("1,,2"), 3)
+        self.assertEqual(self.calc.add("1, ,2"), 3)
+        self.assertEqual(self.calc.add(",,1,,2,,,"), 3)
+
+    def test_add_with_newlines_between_numbers(self):
+        # Zeilenumbrüche als Trennzeichen erlauben → Summe
+        self.assertEqual(self.calc.add("1\n2,3"), 6)
+        self.assertEqual(self.calc.add("1,2\n3"), 6)
+        self.assertEqual(self.calc.add("1\n2\n3"), 6)
+
+    def test_add_raises_exception_on_negative_number(self):
+        # Negative Zahlen → Exception mit allen negativen Werten
+        with self.assertRaises(ValueError) as context:
+            self.calc.add("1,-2")
+        self.assertIn("negatives not allowed: -2", str(context.exception))
+
+    def test_add_raises_exception_on_multiple_negatives(self):
+        # Negative Zahlen → Exception mit allen negativen Werten
+        with self.assertRaises(ValueError) as context:
+            self.calc.add("-1,-2,3")
+        self.assertIn("negatives not allowed: -1, -2", str(context.exception))
+
+    def test_add_with_custom_delimiter(self):
+        # Benutzerdefinierter Delimiter über Präfix: "//<delimiter>\n"
+        self.assertEqual(self.calc.add("//;\n1;2"), 3)
+        self.assertEqual(self.calc.add("//|\n4|5|6"), 15)
+        self.assertEqual(self.calc.add("//_\n7_8_9"), 24)
+
+    def test_add_ignores_numbers_greater_than_1000(self):
+        # Zahlen größer als 1000 ignorieren
+        self.assertEqual(self.calc.add("2,1001"), 2)
+        self.assertEqual(self.calc.add("1000,1"), 1001)
+        self.assertEqual(self.calc.add("1234,1001,3"), 3)
+
+    def test_add_with_multi_char_delimiter(self):
+        # Delimiter mit beliebiger Länge (Format: //[delimiter]\n)
+        self.assertEqual(self.calc.add("//[***]\n1***2***3"), 6)
+        self.assertEqual(self.calc.add("//[abc]\n4abc5abc6"), 15)
+        self.assertEqual(self.calc.add("//[+]\n1+2+3"), 6)
+
+if __name__ == "__main__":
+    unittest.main()
\ No newline at end of file
diff --git a/Project_Test/other/YildirimHatice/feature6.py b/Project_Test/other/YildirimHatice/feature6.py
new file mode 100644
index 0000000000000000000000000000000000000000..949c3245dfd02e05b778eadee0d61d09e88e5636
--- /dev/null
+++ b/Project_Test/other/YildirimHatice/feature6.py
@@ -0,0 +1,94 @@
+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
+        
+        # Überprüfe, ob ein benutzerdefiniertes Trennzeichen angegeben ist
+        if numbers.startswith("//"):
+            delimiter_line_end = numbers.find("\n")
+            delimiter = numbers[2:delimiter_line_end]  # Extrahiere das Trennzeichen
+            numbers = numbers[delimiter_line_end + 1:]  # Entferne die erste Zeile mit dem Trennzeichen
+            
+        else:
+            delimiter = ','  # Standard-Trennzeichen ist Komma, wenn keine Zeile mit dem Trennzeichen vorhanden ist
+
+        # Ersetze alle Vorkommen des Trennzeichens und teile die Eingabe
+        numbers = numbers.replace("\n", delimiter)
+        nums = numbers.split(delimiter)
+        
+        # Filtere alle Zahlen, die größer als 1000 sind
+        nums = [int(num) for num in nums if int(num) <= 1000]
+        
+        # Prüfe auf negative Zahlen
+        negatives = [num for num in nums if num < 0]
+        
+        if negatives:
+            # Wenn negative Zahlen vorhanden sind, werfe eine Ausnahme
+            raise ValueError(f"Negatives not allowed: {', '.join(map(str, negatives))}")
+        
+        # Berechne die Summe der Zahlen, die <= 1000 sind
+        return sum(nums)
+
+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)
+    
+    def test_numbers_with_newline(self):
+        self.assertEqual(self.calculator.add("1\n2,3"), 6)
+    
+    def test_numbers_with_multiple_newlines(self):
+        self.assertEqual(self.calculator.add("1\n2\n3\n4\n5"), 15)
+    
+    def test_negative_number(self):
+        with self.assertRaises(ValueError) as context:
+            self.calculator.add("1,-2,3")
+        self.assertEqual(str(context.exception), "Negatives not allowed: -2")
+    
+    def test_multiple_negative_numbers(self):
+        with self.assertRaises(ValueError) as context:
+            self.calculator.add("1,-2,-3,4")
+        self.assertEqual(str(context.exception), "Negatives not allowed: -2, -3")
+    
+    def test_custom_delimiter(self):
+        self.assertEqual(self.calculator.add("//;\n1;2"), 3)
+    
+    def test_custom_delimiter_with_newline(self):
+        self.assertEqual(self.calculator.add("//;\n1;2\n3"), 6)
+    
+    def test_custom_delimiter_with_multiple_numbers(self):
+        self.assertEqual(self.calculator.add("//|\n1|2|3|4"), 10)
+    
+    def test_numbers_greater_than_1000(self):
+        self.assertEqual(self.calculator.add("2,1001"), 2)
+    
+    def test_numbers_greater_than_1000_with_custom_delimiter(self):
+        self.assertEqual(self.calculator.add("//;\n2;1001"), 2)
+    
+    def test_long_delimiter(self):
+        self.assertEqual(self.calculator.add("//[***]\n1***2***3"), 6)
+    
+    def test_long_delimiter_with_multiple_numbers(self):
+        self.assertEqual(self.calculator.add("//[---]\n1---2---3---4"), 10)
+
+if __name__ == "__main__":
+    unittest.main()
diff --git a/Project_Test/report.md b/Project_Test/report.md
new file mode 100644
index 0000000000000000000000000000000000000000..241a0a52fe5159d20700577a5b662d042718148a
--- /dev/null
+++ b/Project_Test/report.md
@@ -0,0 +1,9 @@
+| Name             | Interface break | Failed Testcases |
+|------------------|-----------------|------------------|
+| AliciMuhamed     | yes (8)         | none             |
+| BerishaAlma      |                 |                  |
+| GotsisWasilios   |                 |                  |
+| PikkemaatLasse   |                 |                  |
+| YildirimHatice   |                 |                  |
+| WeishauptOrlando |                 |                  |
+| SerchimoMarvin   |                 |                  |
\ No newline at end of file
diff --git a/stringCalculator.py b/Project_Test/stringCalculator.py
similarity index 98%
rename from stringCalculator.py
rename to Project_Test/stringCalculator.py
index 232cb01f86f1783dee257ad584d3ff6cf2848a2a..3ef08677bbc2f4e6b82f2f854a04cefe5f2a4359 100644
--- a/stringCalculator.py
+++ b/Project_Test/stringCalculator.py
@@ -19,7 +19,7 @@
 
 import unittest
 from abc import ABC, abstractmethod
-
+from other.AliciMuhamed.StringCalculator import StringCalculator as MomoCalc
 
 class IStringCalculator(ABC):
     @abstractmethod
@@ -93,7 +93,7 @@ class StringCalculator(IStringCalculator):
 
 class TestStringCalculator(unittest.TestCase):
     def setUp(self):
-        self.c = StringCalculator()
+        self.c = MomoCalc()
 
     def test_empty(self):
         res = self.c.add("")