Note that in order to test something, we just use the built-in 'assert'
statement of Python. If the assertion fails when the test case runs, an
AssertionError will be raised, and the testing framework will identify
the test case as a 'failure'. Other exceptions that do not arise from explicit
'assert' checks are identified by the testing framework as 'errors'.
The way to run a test case will be described later. For now, note that to
construct an instance of such a test case, we call its constructor without
arguments: