1 from calculus.base_3 import Calculation
2 from twisted.trial import unittest
6 class CalculationTestCase(unittest.TestCase):
8 self.calc = Calculation()
11 def _test(self, operation, a, b, expected):
12 result = operation(a, b)
13 self.assertEqual(result, expected)
16 def _test_error(self, operation):
17 self.assertRaises(TypeError, operation, "foo", 2)
18 self.assertRaises(TypeError, operation, "bar", "egg")
19 self.assertRaises(TypeError, operation, [3], [8, 2])
20 self.assertRaises(TypeError, operation, {"e": 3}, {"r": "t"})
24 self._test(self.calc.add, 3, 8, 11)
27 def test_subtract(self):
28 self._test(self.calc.subtract, 7, 3, 4)
31 def test_multiply(self):
32 self._test(self.calc.multiply, 6, 9, 54)
35 def test_divide(self):
36 self._test(self.calc.divide, 12, 5, 2)
39 def test_errorAdd(self):
40 self._test_error(self.calc.add)
43 def test_errorSubtract(self):
44 self._test_error(self.calc.subtract)
47 def test_errorMultiply(self):
48 self._test_error(self.calc.multiply)
51 def test_errorDivide(self):
52 self._test_error(self.calc.divide)