Code Kata using TDD. Written in Java.