A implementation of a java kata using test driven development