def test_dif_delimiters_args(self): self.assertEqual(stringcalculator.add("a\n3a7a10a20"), 40) self.assertEqual(stringcalculator.add("-\n100-20-1000"), 1120) with self.assertRaises(ValueError): stringcalculator.add("a\n100,20,1000") stringcalculator.add("a\n100a20aa1000") with self.assertRaises(TypeError): stringcalculator.add("a100,20,1000") with self.assertRaises(IndexError): stringcalculator.add("a")
def test_custom_delimiter_declaration(self): self.assertEqual(stringcalculator.add(";\n1;2;3"), 6) self.assertRaises(ValueError, stringcalculator.add, "/\n1,2,3")
def test_new_line_as_valid_delimiter(self): self.assertEqual(stringcalculator.add("1,2\n3"), 6) self.assertRaises(ValueError, stringcalculator.add, "1,\n3")
def test_two_args(self): self.assertEqual(stringcalculator.add("1,2"), 3)
def test_return_three_when_add_one_two(self): self.assertEqual(add("1,2"), 3)
def test_zero_args(self): self.assertEqual(stringcalculator.add(""), 0)
def test_any_args(self): self.assertEqual(stringcalculator.add("3,7,10,20"), 40) self.assertEqual(stringcalculator.add("100,20,1000"), 1120)
def test_throw_exception_when_add_single_negative(self): with self.assertRaises(Exception): add("-1")
def test_throw_exception_when_add_multiple_negatives(self): with self.assertRaises(Exception): add("1, -2, -5")
def test_return_sum_when_using_semicolon_delimiter(self): self.assertEqual(add("//;\n1;2"), 3)
def test_return_sum_when_using_minus_delimiter(self): self.assertEqual(add("//-\n1-2"), 3)
def test_return_sum_when_adding_multiple_numbers(self): self.assertEqual(add("1,2,3,4,5"), 15)
def test_return_sum_when_add_with_newline_comma(self): self.assertEqual(add("1\n2,3"), 6)
def test_return_3_when_add_one_two_with_newline(self): self.assertEqual(add("1\n2"), 3)
def test_one_arg(self): self.assertEqual(stringcalculator.add("1"), 1)
def test_numbers_bigger_than_100_ignored(self): self.assertEqual(add("2, 1001"), 2)
def test_two_args(self): self.assertEqual(stringcalculator.add("3,7"), 10) self.assertEqual(stringcalculator.add("100,20"), 120)
def test_return_sum_with_three_length_delimiter(self): self.assertEqual(add("//***\n1***2***3"), 6)
def test_two_delimiters_args(self): self.assertEqual(stringcalculator.add("3,7\n10,20"), 40) self.assertEqual(stringcalculator.add("100\n20\n1000"), 1120) with self.assertRaises(ValueError): stringcalculator.add("100\n,20,\n1000")
def test_return_sum_with_five_length_delimiter(self): self.assertEqual(add("//&&&&&\n55&&&&&100000&&&&&1"), 56)
def test_negative_args(self): with self.assertRaises(TypeError): stringcalculator.add("-100,20,-1000,9,-6") stringcalculator.add("-1") stringcalculator.add("a\n-1a34")
def test_return_zero_when_empty_string(self): self.assertEqual(add(""), 0)
def test_one_args(self): self.assertEqual(stringcalculator.add("3"), 3) self.assertEqual(stringcalculator.add("35"), 35)
def test_return_one_when_add_one(self): self.assertEqual(add("1"), 1)