Ejemplo n.º 1
0
 def test_sum_when_newlines_at_ends_of_numbers_in_string(self):
     self.assertEqual(add("\n123\n"), 6)
Ejemplo n.º 2
0
 def test_sum_when_zero_numbers_in_string(self):
     self.assertEqual(add(""), 0)
Ejemplo n.º 3
0
def test_add_single_return_self():
    assert stringcalc.add('2') == '2'
Ejemplo n.º 4
0
 def test_sum_when_delimiter_specified_and_numbers_greater_than_9(self):
     self.assertEqual(add("//[;]\n1;20"), 21)
Ejemplo n.º 5
0
 def test_sum_when_string_has_multiple_delimeters(self):
     self.assertEqual(add("//[*][%]\n1*2%3"), 6)
Ejemplo n.º 6
0
 def test_sum_when_commas_and_newlines_in_string(self):
     self.assertEqual(add(",1\n2\n3,"), 6)
Ejemplo n.º 7
0
 def test_sum_when_delimeter_not_specified(self):
     self.assertEqual(add("1,23\n4"), 10)
Ejemplo n.º 8
0
def test_add_custom_delim_return_sum():
    assert stringcalc.add('//;\n1;2') == '3'
    assert stringcalc.add('//|\n1|2|3') == '6'
    assert stringcalc.add('//sep\n2sep3') == '5'
Ejemplo n.º 9
0
def test_add_invalid_delim_raise_error():
    with pytest.raises(ValueError) as err:
        stringcalc.add('//|\n1|2,3')
    assert err.value.args[0] == "'|' expected but ',' found at position 3."
Ejemplo n.º 10
0
def test_add_duplicate_delim_raise_error():
    with pytest.raises(ValueError) as err:
        stringcalc.add('175.2,\n35')
    assert err.value.args[0] == "Number expected but '\n' found at position 6."
Ejemplo n.º 11
0
def test_add_missing_endpos_raise_error():
    with pytest.raises(ValueError) as err:
        stringcalc.add('1,2,')
    assert err.value.args[0] == "Number expected but EOF found."
Ejemplo n.º 12
0
def test_add_newline_delim_return_sum():
    assert stringcalc.add('1\n2,3') == '6'
Ejemplo n.º 13
0
def test_add_multiple_return_sum():
    assert stringcalc.add('2,3,7,4') == '16'
Ejemplo n.º 14
0
def test_add_pair_return_sum():
    assert stringcalc.add('2,3') == '5'
Ejemplo n.º 15
0
 def test_sum_when_commas_btwn_numbers_in_string(self):
     self.assertEqual(add("1,2,3"), 6)
     self.assertEqual(add("1,23"), 6)
Ejemplo n.º 16
0
def test_add_nonegs_raise_error():
    with pytest.raises(ValueError) as err:
        stringcalc.add('-1,3')
    assert err.value.args[0] == "Negative not allowed : -1"
Ejemplo n.º 17
0
 def test_sum_when_commas_at_ends_of_numbers_in_string(self):
     self.assertEqual(add(",123,"), 6)
Ejemplo n.º 18
0
def test_add_nonegs_multiple_raise_error():
    with pytest.raises(ValueError) as err:
        stringcalc.add('2,-4,-5')
    assert err.value.args[0] == "Negative not allowed : -4, -5"
Ejemplo n.º 19
0
 def test_sum_when_delimiter_specified(self):
     self.assertEqual(add("//[;]\n1;2"), 3)
Ejemplo n.º 20
0
 def test_sum_when_one_number_in_string(self):
     self.assertEqual(add("1"), 1)
     self.assertEqual(add("2"), 2)
Ejemplo n.º 21
0
 def test_error_message_when_exception_thrown_on_neg_number(self):
     with self.assertRaises(Exception) as error:
         add("//[;]\n1;-23")
     self.assertEqual(error.exception.message, 'negatives not allowed: -23')
Ejemplo n.º 22
0
 def test_sum_when_two_numbers_in_string(self):
     self.assertEqual(add("12"), 3)
Ejemplo n.º 23
0
 def test_sum_when_string_has_numbers_over_1000(self):
     self.assertEqual(add("//[oo]\n1oo1000oo1001"), 1001)
Ejemplo n.º 24
0
 def test_sum_when_unknown_amount_of_numbers_in_string(self):
     self.assertEqual(add("1234"), 10)
     self.assertEqual(add("12345"), 15)
Ejemplo n.º 25
0
 def test_sum_when_string_has_multiple_delimeters_with_more_than_one_char(
         self):
     self.assertEqual(add("//[*&][%%%%][^]\n1*&2%%%%3^4"), 10)
Ejemplo n.º 26
0
 def test_sum_when_newlines_btwn_numbers_in_string(self):
     self.assertEqual(add("1\n2\n3"), 6)
     self.assertEqual(add("1\n23"), 6)
Ejemplo n.º 27
0
 def test_sum_returned_to_console_when_given_string(self):
     output = StringIO.StringIO()
     sys.stdout = output
     add("//[*][%]\n1*2%3")
     sys.stdout = sys.__stdout__
     self.assertEqual(output.getvalue(), "6\n")
Ejemplo n.º 28
0
def test_add_empty_return_0():
    assert stringcalc.add('') == '0'