Fizz Buzz Test Driven Development
Test driven development

In test driven development you let the code and the tests evolve by repeating the following steps:


Add a new test case that fails, the simplest possible
Fix the implementation the simplest possible way so that all test cases pass
Optionally refactor the existing code, while keeping all tests passing
Repeat from step 1


There are variations to these steps, but one thing is certain: in the end you will have many test cases. The posted code has one, which means it wasn't really developed using TDD.

Keep it simple

It's good to keep everything as simple as possible. In the test class, do you really need a Number class to wrap an number, so that you create an instance and then call a method on that instance? A simple method would have been enough, that takes an integer as parameter and returns a string.