mock object, stub method and dependency injection