From 27751e1d55fbc76f336dc7a76b5b5aedcb5899c1 Mon Sep 17 00:00:00 2001
From: Muhamed <Muhamedalici@hotmail.de>
Date: Fri, 4 Apr 2025 13:41:06 +0200
Subject: [PATCH] ich vs Lasse

---
 muhamed_directory/String calculator           |  59 ++++++++++++++++--
 .../test_stringclaculator.cpython-311.pyc     | Bin 0 -> 6470 bytes
 muhamed_directory/other/report.md             |  17 ++++-
 3 files changed, 71 insertions(+), 5 deletions(-)
 create mode 100644 muhamed_directory/other/Lasse/__pycache__/test_stringclaculator.cpython-311.pyc

diff --git a/muhamed_directory/String calculator b/muhamed_directory/String calculator
index 0a39f92..ef4e56c 100644
--- a/muhamed_directory/String calculator	
+++ b/muhamed_directory/String calculator	
@@ -9,7 +9,8 @@
 import unittest
 import re
 from abc import ABC, abstractmethod
-from other.Lasse.stringcalculator import StringCalculator as Lasse
+#from other.Lasse.stringcalculator import StringCalculator as Lasse
+#from other.Lasse.test_stringclaculator import TestStringCalculator as lassetest -> Geht nicht
 
 class CalculatorInterface(ABC):
     @abstractmethod
@@ -60,9 +61,59 @@ class StringCalculator(CalculatorInterface):
         return sum(numbers_to_add)
     def get_called_count(self):
         return self.called_count
-        
+
+class TestStringCalculator(unittest.TestCase):
+
+    def setUp(self):
+        self.calculator = StringCalculator()
+
+    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)
     
-class TestStingCalculator(unittest.TestCase):
+'''class TestStingCalculator(unittest.TestCase):
     def setUp(self):
         self.calculator = Lasse()     
     def test_empty_string(self):
@@ -116,7 +167,7 @@ class TestStingCalculator(unittest.TestCase):
     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)
+        self.assertEqual(self.calculator.add("//[aa]\n1aa2aa3"),6)'''
         
         
 
diff --git a/muhamed_directory/other/Lasse/__pycache__/test_stringclaculator.cpython-311.pyc b/muhamed_directory/other/Lasse/__pycache__/test_stringclaculator.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..972efcde27dd3a1dfa6140948dbef025095fa998
GIT binary patch
literal 6470
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

literal 0
HcmV?d00001

diff --git a/muhamed_directory/other/report.md b/muhamed_directory/other/report.md
index 1c96c1d..71c94d4 100644
--- a/muhamed_directory/other/report.md
+++ b/muhamed_directory/other/report.md
@@ -5,4 +5,19 @@
 | Hatice  | 2               | test_add_numbers_greater_than_1000_and_minus (Interface Break: Erwartete Fehlermeldung für negative Zahl in Kombination mit Zahl > 1000 war anders: "invalid literal for int() with base 10: '-3,4'" vs. erwartet 'negatives not allowed: -3'), test_multiple_negative_numbers_exception (Geringfügige Abweichung in der Fehlermeldung: 'Negatives not allowed: -1, -2' vs. erwartet 'negatives not allowed: -1,-2'), test_negative_number_exception (Geringfügige Abweichung in der Fehlermeldung: 'Negatives not allowed: -1' vs. erwartet 'negatives not allowed: -1'), test_add_numbers_with_custom_delimiter (Interface Break: ValueError: invalid literal for int() mit Eingabe '//;\n1,2,3'), test_custom_del (Interface Break: ValueError: invalid literal for int() mit Eingabe '//[+++]\n1+++2+++3'), test_custom_del2 (Interface Break: ValueError: invalid literal for int() mit Eingabe '//[aa]\n1aa2aa3'), test_custom_delimiter (Interface Break: ValueError: invalid literal for int() mit Eingabe '//[***]\n1***2***3') |
 | Marvin  | yes             | test_add_numbers_greater_1000_and_minus (Interface Break: Fehlermeldung für negative Zahl war anders: 'Negative numbers are not allowed: -3' vs. erwartet 'negatives not allowed: -3'), test_add_numbers_with_custom_delimiter (Interface Break: Fehlermeldung für negative Zahl war anders: 'Negative numbers are not allowed: -3' vs. erwartet 'negatives not allowed: -3'), test_multiple_negative_numbers_exception (Interface Break: Fehlermeldung für negative Zahl war anders: 'Negative numbers are not allowed: -1, -2' vs. erwartet 'negatives not allowed: -1,-2'), test_negative_number_exception (Interface Break: Fehlermeldung für negative Zahl war anders: 'Negative numbers are not allowed: -1' vs. erwartet 'negatives not allowed: -1') |
 | Wasili  | no              | none                                                                                                                                                                             
-| Lasse   | yes             | test_add_numbers_greater_1000_and_minus (Interface Break: Fehlermeldung für negative Zahl war anders: 'Negative nicht erlaubt: [-3]' vs. erwartet 'negatives not allowed: -3'), test_add_numbers_with_custom_delimiter (Interface Break: Fehlermeldung für negative Zahl war anders: 'Negative nicht erlaubt: [-3]' vs. erwartet 'negatives not allowed: -3'), test_multiple_negative_numbers_exception (Interface Break: Fehlermeldung für negative Zahl war anders: 'Negative nicht erlaubt: [-1, -2]' vs. erwartet 'negatives not allowed: -1,-2'), test_negative_number_exception (Interface Break: Fehlermeldung für negative Zahl war anders: 'Negative nicht erlaubt: [-1]' vs. erwartet 'negatives not allowed: -1') |
\ No newline at end of file
+| Lasse   | yes             | test_add_numbers_greater_1000_and_minus (Interface Break: Fehlermeldung für negative Zahl war anders: 'Negative nicht erlaubt: [-3]' vs. erwartet 'negatives not allowed: -3'), test_add_numbers_with_custom_delimiter (Interface Break: Fehlermeldung für negative Zahl war anders: 'Negative nicht erlaubt: [-3]' vs. erwartet 'negatives not allowed: -3'), test_multiple_negative_numbers_exception (Interface Break: Fehlermeldung für negative Zahl war anders: 'Negative nicht erlaubt: [-1, -2]' vs. erwartet 'negatives not allowed: -1,-2'), test_negative_number_exception (Interface Break: Fehlermeldung für negative Zahl war anders: 'Negative nicht erlaubt: [-1]' vs. erwartet 'negatives not allowed: -1') |
+
+### alma tests muhamed calculator
+
+* **Anzahl der ausgeführten Tests:** 15
+* **Fehler (Errors):** 2
+    * **test_long_delimiter:** Dieser Test schlägt fehl, weil deine Implementierung Schwierigkeiten hat, Zahlen zu addieren, die durch ein benutzerdefiniertes Trennzeichen getrennt sind, das länger als ein einzelnes Zeichen ist (z.B. "***"). Es kommt zu einem `ValueError`, da der Teil des Strings, der das Trennzeichen enthält, nicht korrekt in eine Zahl umgewandelt werden kann.
+    * **test_long_delimiter_with_multiple_numbers:** Dieser Test schlägt ebenfalls fehl aus dem gleichen Grund wie oben, nur dass hier mehrere Zahlen durch ein längeres benutzerdefiniertes Trennzeichen (z.B. "---") getrennt sind.
+    
+### lasse tests muhamed calculator
+
+* **Anzahl der ausgeführten Tests:** 11
+* **Fehler (Errors):** 0
+* **Fehlgeschlagene Tests (Failures):** 2
+    * **test_add_multiple_negative_numbers:** Dieser Test ist fehlgeschlagen, weil deine `add`-Methode bei der Eingabe von "-10\n-20,-30" zwar eine `ValueError`-Ausnahme auslöst (was korrekt ist), die erwartete Fehlermeldung lautete jedoch "Negative nicht erlaubt: [-10, -20, -30]", während deine Implementierung die Meldung "negatives not allowed: -10,-20,-30" zurückgegeben hat.
+    * **test_add_single_negative_number:** Dieser Test ist ebenfalls fehlgeschlagen, weil deine `add`-Methode bei der Eingabe von "1,-2,3" zwar eine `ValueError`-Ausnahme auslöst, die erwartete Fehlermeldung lautete jedoch "Negative nicht erlaubt: [-2]", während deine Implementierung die Meldung "negatives not allowed: -2" zurückgegeben hat.
\ No newline at end of file
-- 
GitLab