Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
test_student7_on_me.py 1.05 KiB
import unittest
from my_string_calculator import StringCalculator  # Hatice und ich hatten den selben code

class TestStudent7OnMe(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_negative_number(self):
        with self.assertRaises(ValueError) as e:
            self.calc.add("1,-2")
        self.assertEqual(str(e.exception), "Negatives not allowed: -2")

    def test_custom_delimiter(self):
        self.assertEqual(self.calc.add("//;\n1;2"), 3)

    def test_large_numbers_ignored(self):
        self.assertEqual(self.calc.add("2,1001"), 2)

if __name__ == "__main__":
    unittest.main()