Take a number and give the equivalent number in british english words e.g.
1 = one
21 = twenty one
105 = one hundred and five
56945781 = fifty six million nine hundred and forty five thousand seven hundred
and eighty one etc.. up to 999,999,999 without any external libraries (except testing
libraries)

As a pointer on what we would be looking for, if appropriate, in the app:
1. Clear separation of concerns
2. Well defined objects / interfaces
3. Application of good OO design principles to solve the problem
4. No code duplication
5. Test Driven Development
6. Well refactored code
7. Well tested code