tdd by example - chapt 3