@JeremyKorwin
@JohnOusterhout TDD encourages testable
code and favors a solution that makes the test pass. A test ideally has (and
should have no) assumption about the underlying architecture. So it really only
verifies that your current architecture does work correctly.