forked from Thavarshan/python-code-katas
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstring_calculator_test.py
More file actions
42 lines (26 loc) 路 1.36 KB
/
Copy pathstring_calculator_test.py
File metadata and controls
42 lines (26 loc) 路 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from src.katas import string_calculator
from src.katas.exceptions import IllegalArgumentError
import unittest
class StringCalculatorTest(unittest.TestCase):
def test_it_evaluates_an_empty_string_to_0(self):
calculator = string_calculator.StringCalculator()
self.assertEqual(0, calculator.add(''))
def test_it_finds_the_sum_of_a_single_number(self):
calculator = string_calculator.StringCalculator()
self.assertEqual(5, calculator.add('5'))
def test_it_finds_the_sum_of_two_number(self):
calculator = string_calculator.StringCalculator()
self.assertEqual(10, calculator.add('5, 5'))
def test_it_finds_the_sum_of_any_amount_of_numbers(self):
calculator = string_calculator.StringCalculator()
self.assertEqual(19, calculator.add('5, 5, 5, 4'))
def test_it_accepts_a_new_line_character_as_a_delimeter_too(self):
calculator = string_calculator.StringCalculator()
self.assertEqual(10, calculator.add("5\n5"))
def test_negative_numbers_are_not_allowed(self):
calculator = string_calculator.StringCalculator()
with self.assertRaises(IllegalArgumentError):
calculator.add('5, -4')
def test_numbers_bigger_than_1000_are_ignored(self):
calculator = string_calculator.StringCalculator()
self.assertEqual(5, calculator.add('5, 1001'))