TDD using rail course chapter 3