Esempio n. 1
0
 def test_new_line_at_end(self):
     """
     Validate add function raises error for new line at the end
     """
     try:
         add("1,44444444\n")
     except ValueError as err:
         print(err.args)
Esempio n. 2
0
 def test_negatives(self):
     """
     Validate error raised when negative numbers are added
     """
     negative_numbers = ("-1", "-100", "-9999")
     positive_numbers = ("-7", "1", "9999")
     for x in positive_numbers:
         for y in negative_numbers:
             try:
                 add("%s,%s" % (x, y))
             except ValueError as err:
                 print(err.args)
Esempio n. 3
0
 def test_pure_string(self):
     """
     Validate if no numbers present in string, 0 is returned
     """
     result = add("stringy")
     expected_result = 0
     self.assertEqual(expected_result, result)
Esempio n. 4
0
 def test_higher_than_1000(self):
     """
     Validate add function ignores numbers over 1000
     """
     result = add("1,1000,1001,1002,9999")
     expected_result = 1001
     self.assertEqual(expected_result, result)
Esempio n. 5
0
 def test_different_delimiters(self):
     """
     Validate function handles different delimiters OK
     """
     result = add("//[;]\n1;(*_*)2****&$^#7W[]<\}{>")
     expected_result = 10
     self.assertEqual(expected_result, result)
Esempio n. 6
0
 def test_no_numbers(self):
     """
     Validates that if an empty string is passed, 0 is returned
     """
     result = add("")
     expected_result = 0
     self.assertEqual(expected_result, result)
Esempio n. 7
0
 def test_new_line(self):
     """
     Validate add function handles a new line correctly
     """
     result = add("1\n2,3")
     expected_result = 6
     self.assertEqual(expected_result, result)
Esempio n. 8
0
 def test_two_numbers(self):
     """
     Validates addition of two numbers
     """
     result = add("7, 5")
     expected_result = 12
     self.assertEqual(expected_result, result)
Esempio n. 9
0
 def test_float(self):
     """
     Validate floats are not supported, its composing numbers are
     summed up individually, e.g. 5.2 turns to 5 and 2
     """
     result = add("7, 5.2")
     expected_result = 14
     self.assertEqual(expected_result, result)
Esempio n. 10
0
 def test_one_number(self):
     """
     Validates that if one number is passed, same number is returned
     """
     for x in ("0", "1", "10", "999"):
         result = add(x)
         expected_result = int(x)
         self.assertEqual(expected_result, result)
Esempio n. 11
0
 def test_ten_numbers(self):
     """
     Validate that the program accepts and performs correct
     addition on a string containing more than 2 numbers
     """
     x = list(range(10))
     result = add("%s" % x)
     expected_result = 45
     self.assertEqual(expected_result, result)
Esempio n. 12
0
 def test_two_numbers_extended(self):
     """
     Validates addition of more number pairs
     """
     numbers = ("0", "1", "999", "1000")
     for x in numbers:
         for y in numbers:
             result = add("%s,%s" % (x, y))
             expected_result = int(x) + int(y)
     self.assertEqual(expected_result, result)