25% developed

How to Use Rhino Mocks/Out and Ref Parameters

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Both out and ref parameters are supported.

At the end of the Expect statement, add .OutRef(outOrRefParam0, outOrRefParam1,...) as shown below.

int theRef = 42;
int theOut = 0;
Expect.Call(obj.MyMethod(ref theRef, 0, out theOut)).Return(True).OutRef(13, 666);

Or, if you are using lambda-style expectations:

 obj.Expect(x => x.MyMethod(ref theRef, 0, out theOut)).Return(True).OutRef(13, 666);

The variables/objects in OutRef() have the same order as for the method call, ignoring any parameters that are not out or ref.