I need something to work with before I can write the test. So my order tends to be: get the code working first with the simplest case, and by using it I know that simple case is working, then use that to write the first couple of tests. Only then would I expand the tests to the cases not written yet and to a TDD style.
This order also helps verify I didn't typo something in the test itself and end up TDD-ing myself into broken code.
This order also helps verify I didn't typo something in the test itself and end up TDD-ing myself into broken code.