I have to disagree with you. This is a perfectly reasonable request. In fact, this is considered a good practice for testing complex software.
There are lots of reasons for doing things like this:
- You may not have control over function y
- It might do something that you don't want to do during testing (such as submit a credit card order...)
- It might take a long time to run.
- It might be hard to reproduce certain kinds of output.
- It might not be written yet, or it might have bugs of its own (simulating part of the software allows you to develop/test multiple interdependent pieces of code simultaneously).
When's the last time you used duct tape on a duct? --Larry Wall