from the book TDD with Python Harry Percival