Working through Test Driven Development with Python (Harry Percival)