Beispiel #1
0
 def test_empty_string(self):
     self.assertEqual(0, string_calculator.add(''))
Beispiel #2
0
 def test_one_number(self):
     self.assertEqual(1, string_calculator.add('1'))
     self.assertEqual(2, string_calculator.add('2'))
Beispiel #3
0
 def test_ignore_1001(self):
     self.assertEqual(2, string_calculator.add('2,10001'))
Beispiel #4
0
 def test_ignore_2000_and_1432(self):
     self.assertEqual(1016, string_calculator.add('2,2000,14,1432,1000'))
Beispiel #5
0
 def test_long_delimiters(self):
     self.assertEqual(6, string_calculator.add('//[***]\n1***2***3'))
     self.assertEqual(6, string_calculator.add('//[++]\n1++2++3'))
Beispiel #6
0
 def test_multiple_delimiters(self):
     self.assertEqual(33, string_calculator.add('//[*][%]\n11*20%2'))
     self.assertEqual(42, string_calculator.add('//[---][::]\n31::10---1'))
Beispiel #7
0
 def test_semicolon_as_custom_delimiter(self):
     self.assertEqual(23, string_calculator.add('//;\n11;8;4'))
Beispiel #8
0
 def test_dash_as_custom_delimiters(self):
     self.assertEqual(35, string_calculator.add('//_\n13_6_9_7'))
Beispiel #9
0
 def test_newline_and_comma_separated_numbers(self):
     self.assertEqual(49, string_calculator.add('34,7\n8'))
Beispiel #10
0
 def test_newline_as_separator(self):
     self.assertEqual(5, string_calculator.add('2\n3'))
Beispiel #11
0
 def test_unknown_amount_of_numbers(self):
     self.assertEqual(18, string_calculator.add('10,3,5'))
Beispiel #12
0
 def test_two_numbers(self):
     self.assertEqual(3, string_calculator.add('1,2'))
    def test_exception_on_one_negative(self):
        with self.assertRaises(RuntimeError) as cm:
            string_calculator.add('-1')

        self.assertEqual('negatives not allowed [-1]', str(cm.exception))