Added tests and refactored the TestRunner