Finishes Chapter 9 with tests passing