From 1f4b0e1a1c20c8dc59c60dc4a63a4311a4abbdcb Mon Sep 17 00:00:00 2001 From: Almmaa <Alma.Berisha@student.reutlingen-university.de> Date: Sun, 6 Apr 2025 01:55:10 +0200 Subject: [PATCH] =?UTF-8?q?Testf=C3=A4lle=20f=C3=BCr=20student6=20hinzugef?= =?UTF-8?q?=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test_me_on_student6.py | 53 ++++++++++++++++++++++++++++++++++++++++++ test_student6_on_me.py | 53 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 test_me_on_student6.py create mode 100644 test_student6_on_me.py diff --git a/test_me_on_student6.py b/test_me_on_student6.py new file mode 100644 index 0000000..9e6e723 --- /dev/null +++ b/test_me_on_student6.py @@ -0,0 +1,53 @@ +import unittest +from other.student6.Calculator_combined import StringCalculator #lasse + +class TestStudent6OnMe(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("10,20"), 30) + + def test_add_multiple_numbers(self): + self.assertEqual(self.calc.add("1,2,3"), 6) + self.assertEqual(self.calc.add("10,20,30,40"), 100) + + def test_add_with_newline_separator(self): + self.assertEqual(self.calc.add("1\n2,3"), 6) + self.assertEqual(self.calc.add("10\n20\n30"), 60) + + def test_add_single_negative_number(self): + with self.assertRaises(ValueError) as context: + self.calc.add("1,-2,3") + self.assertEqual(str(context.exception), "Negative nicht erlaubt: [-2]") + + def test_add_multiple_negative_numbers(self): + with self.assertRaises(ValueError) as context: + self.calc.add("-10\n-20,-30") + self.assertEqual(str(context.exception), "Negative nicht erlaubt: [-10, -20, -30]") + + def test_add_with_custom_delimiter(self): + self.assertEqual(self.calc.add("//;\n1;2"), 3) + self.assertEqual(self.calc.add("//x\n7x8\n9"), 24) + + def test_invalid_custom_delimiter_format(self): + with self.assertRaises(ValueError): + self.calc.add("//;1;2") + + def test_ignore_numbers_greater_than_1000(self): + self.assertEqual(self.calc.add("2,1001"), 2) + self.assertEqual(self.calc.add("1002,50200"), 0) + + def test_add_with_custom_delimiter_multiple_characters(self): + self.assertEqual(self.calc.add("//[**]\n1**2**3"), 6) + self.assertEqual(self.calc.add("//[###]\n10###20###30"), 60) + + +if __name__ == "__main__": + unittest.main() diff --git a/test_student6_on_me.py b/test_student6_on_me.py new file mode 100644 index 0000000..f21ca8b --- /dev/null +++ b/test_student6_on_me.py @@ -0,0 +1,53 @@ +import unittest +from my_string_calculator import StringCalculator # lasse + +class TestStudent6OnMe(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("10,20"), 30) + + def test_add_multiple_numbers(self): + self.assertEqual(self.calc.add("1,2,3"), 6) + self.assertEqual(self.calc.add("10,20,30,40"), 100) + + def test_add_with_newline_separator(self): + self.assertEqual(self.calc.add("1\n2,3"), 6) + self.assertEqual(self.calc.add("10\n20\n30"), 60) + + def test_add_single_negative_number(self): + with self.assertRaises(ValueError) as context: + self.calc.add("1,-2,3") + self.assertEqual(str(context.exception), "Negative nicht erlaubt: [-2]") + + def test_add_multiple_negative_numbers(self): + with self.assertRaises(ValueError) as context: + self.calc.add("-10\n-20,-30") + self.assertEqual(str(context.exception), "Negative nicht erlaubt: [-10, -20, -30]") + + def test_add_with_custom_delimiter(self): + self.assertEqual(self.calc.add("//;\n1;2"), 3) + self.assertEqual(self.calc.add("//x\n7x8\n9"), 24) + + def test_invalid_custom_delimiter_format(self): + with self.assertRaises(ValueError): + self.calc.add("//;1;2") + + def test_ignore_numbers_greater_than_1000(self): + self.assertEqual(self.calc.add("2,1001"), 2) + self.assertEqual(self.calc.add("1002,50200"), 0) + + def test_add_with_custom_delimiter_multiple_characters(self): + self.assertEqual(self.calc.add("//[**]\n1**2**3"), 6) + self.assertEqual(self.calc.add("//[###]\n10###20###30"), 60) + + +if __name__ == "__main__": + unittest.main() -- GitLab