The standard unittest
Python package greatly facilitates automated testing. This package requires that we rewrite our 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 to 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 to write the tests in a file separate from the code to be tested. That...