From 2520ac35c4e847174f728a26083b3f476a655b2c Mon Sep 17 00:00:00 2001 From: Almmaa <Alma.Berisha@student.reutlingen-university.de> Date: Sun, 6 Apr 2025 01:49:02 +0200 Subject: [PATCH] =?UTF-8?q?Testf=C3=A4lle=20f=C3=BCr=20student4=20hinzugef?= =?UTF-8?q?=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test_me_on_student4.py | 49 +++++++++++++++++++++++++++++++++++++ test_student4_on_me.py | 55 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 test_me_on_student4.py create mode 100644 test_student4_on_me.py diff --git a/test_me_on_student4.py b/test_me_on_student4.py new file mode 100644 index 0000000..751d20e --- /dev/null +++ b/test_me_on_student4.py @@ -0,0 +1,49 @@ +import unittest +from other.student4.Calculator import StringCalculator # Marvin + +class TestMyCasesOnStudent4(unittest.TestCase): + def setUp(self): + self.calc = StringCalculator() + + def test_empty_string(self): + self.assertEqual(self.calc.add(""), 0) + + def test_single_number(self): + self.assertEqual(self.calc.add("1"), 1) + + def test_two_numbers(self): + self.assertEqual(self.calc.add("1,2"), 3) + + def test_multiple_numbers(self): + self.assertEqual(self.calc.add("1,2,3,4,5"), 15) + + def test_numbers_with_newline(self): + self.assertEqual(self.calc.add("1\n2,3"), 6) + + def test_multiple_newlines(self): + self.assertEqual(self.calc.add("1\n2\n3\n4\n5"), 15) + + def test_negative_number(self): + with self.assertRaises(ValueError) as e: + self.calc.add("1,-2,3") + self.assertEqual(str(e.exception), "Negative numbers are not allowed: -2") + + def test_multiple_negative_numbers(self): + with self.assertRaises(ValueError) as e: + self.calc.add("1,-2,-3,4") + self.assertEqual(str(e.exception), "Negative numbers are not allowed: -2, -3") + + def test_custom_delimiter(self): + self.assertEqual(self.calc.add("//;\n1;2"), 3) + + def test_custom_delimiter_with_newline(self): + self.assertEqual(self.calc.add("//;\n1;2\n3"), 6) + + def test_ignore_numbers_over_1000(self): + self.assertEqual(self.calc.add("2,1001"), 2) + + def test_custom_delimiter_any_length(self): + self.assertEqual(self.calc.add("//[***]\n1***2***3"), 6) + +if __name__ == "__main__": + unittest.main() diff --git a/test_student4_on_me.py b/test_student4_on_me.py new file mode 100644 index 0000000..70cde1e --- /dev/null +++ b/test_student4_on_me.py @@ -0,0 +1,55 @@ +import unittest +from my_string_calculator import StringCalculator + +class TestStudent4CasesOnMe(unittest.TestCase): + def setUp(self): + self.calculator = StringCalculator() + + def test_empty_string_returns_zero(self): + self.assertEqual(self.calculator.add(""), 0) + + def test_single_number_returns_value(self): + self.assertEqual(self.calculator.add("1"), 1) + + def test_two_numbers_return_sum(self): + self.assertEqual(self.calculator.add("1,2"), 3) + + def test_add_multiple_numbers(self): + self.assertEqual(self.calculator.add("1,2,3,4,5"), 15) + + def test_add_numbers_with_newlines(self): + self.assertEqual(self.calculator.add("1\n2\n3"), 6) + + def test_add_negative_numbers(self): + with self.assertRaises(ValueError) as e: + self.calculator.add("-1,2,-3") + 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) + + def test_add_numbers_with_custom_delimiter_different_symbol(self): + self.assertEqual(self.calculator.add("//#\n4#5#6"), 15) + + def test_custom_delimiter_with_multiple_numbers(self): + self.assertEqual(self.calculator.add("//:\n1:2:3:4:5:6"), 21) + + def test_add_numbers_greater_than_1000(self): + self.assertEqual(self.calculator.add("1,1001,2,3"), 6) + + def test_add_numbers_with_newlines_and_ignore_above_1000(self): + self.assertEqual(self.calculator.add("1\n2\n1000\n1001"), 1003) + + def test_add_numbers_with_custom_delimiter_long_length(self): + self.assertEqual(self.calculator.add("//[***]\n1***2***3"), 6) + + def test_custom_long_delimiter_with_large_number_ignored(self): + self.assertEqual(self.calculator.add("//[***]\n1***1001***2"), 3) + + def test_custom_long_delimiter_with_negative_numbers(self): + with self.assertRaises(ValueError) as e: + self.calculator.add("//[***]\n1***-2***3***-4") + self.assertEqual(str(e.exception), "Negatives not allowed: -2, -4") + +if __name__ == "__main__": + unittest.main() -- GitLab