First the normal then the test, or reverse?
Tests must pass with every commit. In general, I prefer to see tests first, with failing tests marked todo_wine. Then the second patch, with implementation, removes the todo_wines. In this case adding todo_wine might be more trouble than it's worth, so I'd do them in the reverse order. I'll comment on your try 2 again shortly, though. --Juan