#3: Added TDD tests.