summaryrefslogtreecommitdiff
path: root/doc/core/howto/listings/trial/calculus/test/test_base_3.py
diff options
context:
space:
mode:
Diffstat (limited to 'doc/core/howto/listings/trial/calculus/test/test_base_3.py')
-rw-r--r--doc/core/howto/listings/trial/calculus/test/test_base_3.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/doc/core/howto/listings/trial/calculus/test/test_base_3.py b/doc/core/howto/listings/trial/calculus/test/test_base_3.py
new file mode 100644
index 0000000..e22541e
--- /dev/null
+++ b/doc/core/howto/listings/trial/calculus/test/test_base_3.py
@@ -0,0 +1,52 @@
+from calculus.base_3 import Calculation
+from twisted.trial import unittest
+
+
+
+class CalculationTestCase(unittest.TestCase):
+ def setUp(self):
+ self.calc = Calculation()
+
+
+ def _test(self, operation, a, b, expected):
+ result = operation(a, b)
+ self.assertEqual(result, expected)
+
+
+ def _test_error(self, operation):
+ self.assertRaises(TypeError, operation, "foo", 2)
+ self.assertRaises(TypeError, operation, "bar", "egg")
+ self.assertRaises(TypeError, operation, [3], [8, 2])
+ self.assertRaises(TypeError, operation, {"e": 3}, {"r": "t"})
+
+
+ def test_add(self):
+ self._test(self.calc.add, 3, 8, 11)
+
+
+ def test_subtract(self):
+ self._test(self.calc.subtract, 7, 3, 4)
+
+
+ def test_multiply(self):
+ self._test(self.calc.multiply, 6, 9, 54)
+
+
+ def test_divide(self):
+ self._test(self.calc.divide, 12, 5, 2)
+
+
+ def test_errorAdd(self):
+ self._test_error(self.calc.add)
+
+
+ def test_errorSubtract(self):
+ self._test_error(self.calc.subtract)
+
+
+ def test_errorMultiply(self):
+ self._test_error(self.calc.multiply)
+
+
+ def test_errorDivide(self):
+ self._test_error(self.calc.divide)