Step1: create project and a test class (it won't compile)
Step1b:finish test class
Step 1c: create main Class (test will fail)
Step 1d: make test work
Step 1e: change function order
Step 2a: add another test
Step 2b: fix test
Step 2c: add minimum code to make test pass
Step 3a: add a new failing test
Step 3b: add code to make it work
Step 4a: add a new failing test
Step 4b: fix code to make it work
Step 5: add another test
Step 6a : add another test (that fails)
Step 6b: correct code to make tests pass
Step 7a: add another (failing) test
Step 7b: improving code
Step 7c: moving code
Step 7d: moving code (continued)
Step 7e: fix code