diff --git a/muhamed_directory/String calculator b/muhamed_directory/String calculator index 10f5f448af6b504e503491e9b9f9ec2ad81399b7..8c18449e33c7b3582d734f74ee261dce76f897c0 100644 --- a/muhamed_directory/String calculator +++ b/muhamed_directory/String calculator @@ -9,7 +9,7 @@ import unittest import re from abc import ABC, abstractmethod -from other.Hatice.feature6 import StringCalculator as Hatice +#from other.Hatice.feature6 import StringCalculator as Hatice class CalculatorInterface(ABC): @abstractmethod @@ -60,9 +60,61 @@ class StringCalculator(CalculatorInterface): return sum(numbers_to_add) def get_called_count(self): return self.called_count - -class TestStingCalculator(unittest.TestCase): +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) + +'''class TestStingCalculator(unittest.TestCase): def setUp(self): self.calculator = Hatice() def test_empty_string(self): @@ -116,7 +168,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/report.md b/muhamed_directory/other/report.md index d53e7e9f22cf32ea414fd8e4c8197431e87bc15f..2997b2f32acc5125af841be5f19c68658a2476dc 100644 --- a/muhamed_directory/other/report.md +++ b/muhamed_directory/other/report.md @@ -2,4 +2,42 @@ |---------|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Alma | 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') | | Daniel | yes | test_add_numbers_greater_1000_and_minus (Interface Break: ValueError wurde nicht ausgelöst, obwohl eine negative Zahl vorhanden war), test_add_numbers_with_custom_delimiter (Interface Break: ValueError wurde nicht ausgelöst, obwohl eine negative Zahl im benutzerdefinierten Trennzeichen-Szenario vorhanden war), test_multiple_negative_numbers_exception (Interface Break: ValueError wurde nicht ausgelöst, obwohl mehrere negative Zahlen vorhanden waren), test_negative_number_exception (Interface Break: ValueError wurde nicht ausgelöst, obwohl eine negative Zahl vorhanden war) | -| 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') | \ No newline at end of file +| 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') | + +### 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. + +### wasili tests muhamed calculator + +* **Ergebnis:** OK (Alle 11 Tests bestanden) + +### marvin tests muhamed calculator + +* **Anzahl der ausgeführten Tests:** 14 +* **Fehler (Errors):** 0 +* **Fehlgeschlagene Tests (Failures):** 2 + * **test_add_negative_numbers:** Dieser Test ist fehlgeschlagen, weil deine `add`-Methode bei der Eingabe von Zahlen mit negativen Werten zwar eine `ValueError`-Ausnahme auslöst (was korrekt ist), die erwartete Fehlermeldung lautete jedoch "Negative numbers are not allowed: -1, -3", während deine Implementierung die Meldung "negatives not allowed: -1,-3" zurückgegeben hat. + * **test_custom_long_delimiter_with_negative_numbers:** Dieser Test ist ebenfalls fehlgeschlagen, weil deine `add`-Methode bei der Eingabe von Zahlen mit negativen Werten und einem benutzerdefinierten, längeren Trennzeichen zwar eine `ValueError`-Ausnahme auslöst, die erwartete Fehlermeldung lautete jedoch "Negative numbers are not allowed: -2, -4", während deine Implementierung die Meldung "negatives not allowed: -2,-4" zurückgegeben hat. + +### hatice tests muhamed calculator + +* **Anzahl der ausgeführten Tests:** 15 +* **Fehler (Errors):** 0 +* **Fehlgeschlagene Tests (Failures):** 2 + * **test_multiple_negative_numbers:** Dieser Test ist fehlgeschlagen, weil deine `add`-Methode bei der Eingabe von "-2, -3" zwar eine `ValueError`-Ausnahme auslöst (was korrekt ist), die erwartete Fehlermeldung lautete jedoch "Negatives not allowed: -2, -3", während deine Implementierung die Meldung "negatives not allowed: -2,-3" zurückgegeben hat. + * **test_negative_number:** Dieser Test ist ebenfalls fehlgeschlagen, weil deine `add`-Methode bei der Eingabe von "-2" zwar eine `ValueError`-Ausnahme auslöst, die erwartete Fehlermeldung lautete jedoch "Negatives not allowed: -2", während deine Implementierung die Meldung "negatives not allowed: -2" zurückgegeben hat. \ No newline at end of file