An implementation of this Kata - http://osherove.com/tdd-kata-1/