Recently, I started learning Test Driven Development, (TDD). True to its name, this means tests are written before any functional code is written. At most, a shell version of the code is written so that the tests can call it, but the code should not be functional until the test…