Sorry, but I don't really follow here. Is this meant to be used like an interface like in the test class? Also, why are you passing quantity both directly as parameter and in the discount parameter?