I managed to perform the test using the reflective API, however there's something that doesn't quite work properly:
mock.AlwaysReturn("Something", new DynamicReturnValue((parameters, context) =>
{
return MockManager.CONTINUE_WITH_METHOD;
}));
mock.CallBase.AlwaysReturn("Something", new DynamicReturnValue((parameters, context) =>
{
// do nothing, this is just to block the call to the base Something method.
return null;
}));
In this case, all calls to base.Something will still be handled by the first DynamicReturnValue. This may be by design (and I've managed to work around it) but it still can be somewhat limiting. You can't mock both the method behavior and the base method behavior.