예제 #1
0
 def test_returns_zero_for_empty_string(self):
     self.assertEqual(0, string_calculator(""))
예제 #2
0
 def test_returns_single_number_as_int(self):
     self.assertEqual(1, string_calculator("1"))
예제 #3
0
 def test_accepts_multiple_delimiters(self):
     self.assertEqual(6, string_calculator('//[*][%]\n1*2%3'))
예제 #4
0
 def test_accepts_multiple_delimiters_longer_than_one_char(self):
     self.assertEqual(6, string_calculator('//[***][%]\n1***2%3'))
예제 #5
0
 def test_accepts_multicharacter_delimiters(self):
     self.assertEqual(6, string_calculator('//[***]\n1***2***3'))
예제 #6
0
 def test_delimiter_is_open_square_bracket(self):
     self.assertEqual(3, string_calculator('//[\n1[2'))
예제 #7
0
 def test_raise_exception_for_negative_numbers_lists_all_negative_numbers(self):
     try:
         string_calculator("1,-2,3,-4,5")
         self.fail('ValueError not raised')
     except ValueError as e:
         self.assertEqual("negatives not allowed: [-2, -4]", e.message)
예제 #8
0
 def test_ignores_adding_numbers_larger_than_1000(self):
     self.assertEqual(2, string_calculator("2,1001"))
예제 #9
0
 def test_returns_sum_of_numbers_with_customize_delimiter_and_newline_delimiter(self):
     self.assertEqual(6, string_calculator("//;\n1;2\n3"))
예제 #10
0
 def test_can_customize_the_delimiter(self):
     self.assertEqual(3, string_calculator('//;\n1;2'))
예제 #11
0
 def test_returns_sum_of_numbers_for_sequence_with_newline_delimeter(self):
     self.assertEqual(6, string_calculator("1,2\n3"))
예제 #12
0
 def test_returns_sum_of_five_numbers(self):
     self.assertEqual(15, string_calculator("1,2,3,4,5"))
예제 #13
0
 def test_returns_sum_of_two_numbers(self):
     self.assertEqual(21, string_calculator("8,13"))