First passing test, using minimum working implementation for that case only, and second test that will force me to change my implementation.
Made second test pass
Added another test case using a different value
Added a test that chalenges my current implementation, but implemented it the cheapest way possible.
Added tests for another value, X.
Restuctured the code to remove duplication.
Added test cases for other roman numbers
Added a more complicated test that totally broke my implementation. Fixing it provide a bullet-proof code.