From 0e842cf6619901489540c36371fe46f7cf701d34 Mon Sep 17 00:00:00 2001 From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de> Date: Sat, 5 Apr 2025 19:32:42 +0200 Subject: [PATCH] =?UTF-8?q?Implementierung=20von=20AliciMuhamed=20mit=20me?= =?UTF-8?q?inen=20Testf=C3=A4llen=20getestet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Other/AliciMuhamed_2/my_calculator.py | 58 +++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Other/AliciMuhamed_2/my_calculator.py diff --git a/Other/AliciMuhamed_2/my_calculator.py b/Other/AliciMuhamed_2/my_calculator.py new file mode 100644 index 0000000..0d6c003 --- /dev/null +++ b/Other/AliciMuhamed_2/my_calculator.py @@ -0,0 +1,58 @@ +#Implementierung von AliciMuhamed auf meinen Testfälle: StringCalculator +import unittest + +from string calculator import StringCalculator + +class TestStringCalculator(unittest.TestCase): + def setUp(self): + self.calculator = StringCalculator() + + def test_implements_interface(self): + self.assertIsInstance(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) + + +if __name__ == "__main__": + unittest.main() -- GitLab