diff --git a/test_me_on_student1.py b/test_me_on_student1.py new file mode 100644 index 0000000000000000000000000000000000000000..fd33f2ffa20c6880594ff61bb29f7a66fb69928b --- /dev/null +++ b/test_me_on_student1.py @@ -0,0 +1,50 @@ +import unittest +from other.student1.Calculator import StringCalculator # dani + +class TestMyCalcOnStudent1(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): + self.calculator.add("1,-2,3") + + def test_multiple_negative_numbers(self): + with self.assertRaises(ValueError): + self.calculator.add("1,-2,-3,4") + + 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() diff --git a/test_student1_on_me.py b/test_student1_on_me.py new file mode 100644 index 0000000000000000000000000000000000000000..41a50daafe34fd9db4b7f41261e2dc7db5706bbc --- /dev/null +++ b/test_student1_on_me.py @@ -0,0 +1,69 @@ +import unittest +from my_string_calculator import StringCalculator + +class TestStudent1OnMyCalc(unittest.TestCase): + def setUp(self): + self.c = StringCalculator() + + def test_empty(self): + self.assertEqual(self.c.add(""), 0) + + def test_oneNumber(self): + self.assertEqual(self.c.add("1"), 1) + + def test_addingTwoNumbers(self): + self.assertEqual(self.c.add("1,2"), 3) + + def test_addingTwoNumbersWithZero(self): + self.assertEqual(self.c.add("0,5"), 5) + + def test_handleFloat(self): + with self.assertRaises(Exception): + self.c.add("3.5") + + def test_handleLetter(self): + with self.assertRaises(Exception): + self.c.add("1, z") + + def test_addWithBackslashN(self): + self.assertEqual(self.c.add("1\n2,3"), 6) + + def test_negativeValues(self): + with self.assertRaises(ValueError): + self.c.add("-3") + + def test_delimiter(self): + self.assertEqual(self.c.add("//;\n1;2"), 3) + + def test_thousandone(self): + self.assertEqual(self.c.add("2, 1001"), 2) + + def test_multidelimiter(self): + self.assertEqual(self.c.add("//[***]\n1***2***3"), 6) + + def test_multi_negative(self): + with self.assertRaises(ValueError): + self.c.add("-3, -4") + + def test_space_between_numbers(self): + self.assertEqual(self.c.add(" 4 , 5"), 9) + + def test_multiple_num_with_thousandone(self): + self.assertEqual(self.c.add(" 2, 1001, 5"), 7) + + def test_empty_text(self): + self.assertEqual(self.c.add("//;\n"), 0) + + def test_one_number_with_empty_string(self): + self.assertEqual(self.c.add("1,"), 1) + + def test_negative_with_positive(self): + with self.assertRaises(ValueError): + self.c.add("-2, 5") + + def test_mixture(self): + with self.assertRaises(ValueError): + self.c.add("//;\n-1;2;1001;-3") + +if __name__ == "__main__": + unittest.main()