Build One to Throw Away
tbray.org
tbray.org
Software is infinitely malleable, so there's no need to start from scratch. You can morph your code from its present state to any desired state smoothly, keeping it working (and passing all its unit tests) the whole time.
"Throwing one away" usually also throws away lots of hard-won corner case fixes and QA testing.
Regardless, Tim does have a robust test suite for mod_atom -- the Atom Protocol Exerciser (APE), which he wrote long before starting work on his own implementation. It serves as a reference test client for any AtomPub service, which is rather more valuable IMHO than simple unit testing.