Test Driven Development or TDD is a relatively new way of writing code. In short TDD is writing the tests before you write the code . What does it mean to write the tests before you write your code? How is that possible? To be more specific the way to do that is as follow: Step 1: Know the purpose of the code you are about to write. This step is trivial, with no requirements how can you know what to write. Step 2: Write a Unit Test that will test only one scenario in the code you are about to write...