Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RhinoMocks expecting complex object as a parameter

I use RhinoMocks without problems for checking using AssertWasCalled if my method was called with simple parameters such as Arg.Is.Equal(1) etc.

However, it fails when I try to expect a complex object of my own creation, e.g.

Arg<CustomClass>.Is.Equal(CustomClassInstance)

Of course, I am well aware that this should not work because references don't match. However, my question is: how do I make it work? How can make RhinoMocks expect an object with certain values inside?

like image 472
Tmate Avatar asked Mar 22 '11 01:03

Tmate


1 Answers

You can use Arg<T>.Matches (Predicate<T> predicate) like:

mock.AssertWasCalled (m => m.Foo (Arg<CustomClass>.Matches (c => c.Foo == CustomClassInstance.Foo));
like image 66
Pete Avatar answered Oct 01 '22 17:10

Pete