From c192119bfda6b5abe4f1de69ee0ff0ece83874fc Mon Sep 17 00:00:00 2001
From: Almmaa <Alma.Berisha@student.reutlingen-university.de>
Date: Sun, 6 Apr 2025 01:51:57 +0200
Subject: [PATCH] =?UTF-8?q?Testf=C3=A4lle=20f=C3=BCr=20student5=20hinzugef?=
 =?UTF-8?q?=C3=BCgt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 test_me_on_student5.py | 30 ++++++++++++++++++++++
 test_student5_on_me.py | 57 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 87 insertions(+)
 create mode 100644 test_me_on_student5.py
 create mode 100644 test_student5_on_me.py

diff --git a/test_me_on_student5.py b/test_me_on_student5.py
new file mode 100644
index 0000000..c66995b
--- /dev/null
+++ b/test_me_on_student5.py
@@ -0,0 +1,30 @@
+import unittest
+from other.student5.Calculator_combined import StringCalculator #orlando
+
+class TestMeOnStudent5(unittest.TestCase):
+    def setUp(self):
+        self.calc = StringCalculator()
+
+    def test_ignores_empty_entries(self):
+        self.assertEqual(self.calc.add("1,,2"), 3)
+        self.assertEqual(self.calc.add(",,1,,2,,"), 3)
+
+    def test_add_multi_char_delimiter(self):
+        self.assertEqual(self.calc.add("//[abc]\n4abc5abc6"), 15)
+
+    def test_newlines_mixed_with_commas(self):
+        self.assertEqual(self.calc.add("1,2\n3"), 6)
+
+    def test_single_number(self):
+        self.assertEqual(self.calc.add("5"), 5)
+
+    def test_custom_delimiters_varied(self):
+        self.assertEqual(self.calc.add("//_\n7_8_9"), 24)
+
+    def test_multiple_negatives(self):
+        with self.assertRaises(ValueError) as context:
+            self.calc.add("-1,-2")
+        self.assertIn("negatives not allowed", str(context.exception))
+
+if __name__ == "__main__":
+    unittest.main()
diff --git a/test_student5_on_me.py b/test_student5_on_me.py
new file mode 100644
index 0000000..f612723
--- /dev/null
+++ b/test_student5_on_me.py
@@ -0,0 +1,57 @@
+import unittest
+from my_string_calculator import StringCalculator  
+
+class TestStudent5OnMyCode(unittest.TestCase):
+    def setUp(self):
+        self.calc = StringCalculator()
+
+    def test_add_empty_string(self):
+        self.assertEqual(self.calc.add(""), 0)
+
+    def test_add_single_number(self):
+        self.assertEqual(self.calc.add("1"), 1)
+
+    def test_add_two_numbers(self):
+        self.assertEqual(self.calc.add("1,2"), 3)
+
+    def test_add_multiple_numbers(self):
+        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):
+        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):
+        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):
+        with self.assertRaises(ValueError) as context:
+            self.calc.add("1,-2")
+        self.assertIn("Negatives not allowed", str(context.exception))
+
+    def test_add_raises_exception_on_multiple_negatives(self):
+        with self.assertRaises(ValueError) as context:
+            self.calc.add("-1,-2,3")
+        self.assertIn("Negatives not allowed", str(context.exception))
+
+    def test_add_with_custom_delimiter(self):
+        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):
+        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):
+        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()
-- 
GitLab