The three laws of TDD- You are not allowed to write any production code unless it is to make a failing unit test pass
- You are not allowed to write any more of a unit test that is sufficient to fail, and compilation failures are failures.
- You are not allowed to write any more production code than is sufficient to pass the one failing unit test.