Mocking And Dependency Injection For Testing