Now that we're satisfied that analyze_text() exists and accepts the right number of arguments, let's see if we can make it do real work. The first thing we want is for the function to return the number of lines in the file, so let's define that test:
# text_analyzer.py
class TextAnalysisTests(unittest.TestCase):
. . .
def test_line_count(self):
"Check that the line count is correct."
self.assertEqual(analyze_text(self.filename), 4)
Here we see our first example of an assertion. The TestCase class has many assertion methods, and in this case we used assertEqual() to check that the number of lines counted by our function is equal to four. If the value returned by analyze_text() is not equal to four, this assertion will cause the test method to fail. And if we run our new test, we see that this is...