The Python module unittest greatly facilitates automated testing. This module requires that we rewrite our previous tests to be compatible.Â
The first test would have to be rewritten in a class, as follows:
from bisection import bisect import unittest class TestIdentity(unittest.TestCase): def test(self): result = bisect(lambda x: x, -1.2, 1.,tol=1.e-8) expected = 0. self.assertAlmostEqual(result, expected) if __name__=='__main__': unittest.main()
Let's examine the differences from the previous implementation. First, the test is now a method and a part of a class. The class must inherit from unittest.TestCase. The test method's name must start with test. Note that we may now use one of the assertion tools of the unittest package, namely assertAlmostEqual. Finally, the tests are run using unittest.main. We recommend writing the tests in a file...