test driven development homework