TDD's first step is write *a test*, not "write tests". Batch size of one. If it was "write tests," it'd be more waterfall.
Still, you write a test first which, again, the author diverged from.
I don’t either. But somehow TDD is considered the sanctioned way to work with unit tests, and that it is almost pointless to write tests unless you’re doing TDD. I am relieved to read that I am not the only one.