2011-03-22 9 views
7

que utilizo RhinoMocks sin problemas para comprobar si el uso de AssertWasCalled mi método fue llamado con parámetros simples como Arg.Is.Equal (1), etc.RhinoMocks esperando objeto complejo como parámetro

Sin embargo, se produce un error cuando intento esperar un objeto complejo de mi propia creación, por ejemplo

Arg<CustomClass>.Is.Equal(CustomClassInstance) 

Por supuesto, soy consciente de que esto no debería funcionar porque las referencias no coinciden. Sin embargo, mi pregunta es: ¿cómo hago que funcione? ¿Cómo puede hacer que RhinoMocks espere un objeto con ciertos valores dentro?

Respuesta

9

Se puede utilizar como Arg<T>.Matches (Predicate<T> predicate):

mock.AssertWasCalled (m => m.Foo (Arg<CustomClass>.Matches (c => c.Foo == CustomClassInstance.Foo)); 
Cuestiones relacionadas