The following is a TDD Kata an exercise in coding, refactoring and test-first, that you should apply daily for at least 15 minutes (I do 30). See more details on http://osherove.com/tdd-kata-1