public static object ResultOfAction(IAction action) { object receiver = new NamedObject("receiver"); var methodInfo = new MethodInfoStub("method"); var invocation = new Invocation(receiver, methodInfo, new object[0]); action.Invoke(invocation); return invocation.Result; }
public void SetsExceptionOfInvocation() { var exception = new Exception(); var action = new ThrowAction(exception); var receiver = new object(); var methodInfo = new MethodInfoStub("method"); var invocation = new Invocation(receiver, methodInfo, new object[0]); action.Invoke(invocation); Assert.AreSame(exception, invocation.Exception, "exception"); }
public void SetsNamedParameterOnInvocationWrong() { var receiver = new object(); var methodInfo = new MethodInfoStub("method", new ParameterInfoStub("p1", ParameterAttributes.In), new ParameterInfoStub("p2", ParameterAttributes.Out)); string name = "p2_wrong"; var value = new object(); var invocation = new Invocation(receiver, methodInfo, new object[] {null, null}); var action = new SetNamedParameterAction(name, value); action.Invoke(invocation); Assert.AreSame(value, invocation.Parameters[1], "set value"); }
public void SetsIndexedParameterOnInvocation() { var receiver = new object(); var methodInfo = new MethodInfoStub("method", new ParameterInfoStub("p1", ParameterAttributes.In), new ParameterInfoStub("p2", ParameterAttributes.Out)); int index = 1; var value = new object(); var invocation = new Invocation(receiver, methodInfo, new object[] {null, null}); var action = new SetIndexedParameterAction(index, value); action.Invoke(invocation); Assert.AreSame(value, invocation.Parameters[index], "set value"); }
public void SetUp() { receiver = "receiver"; result = "result"; method = new MethodInfoStub("method"); invocation = new Invocation(receiver, method, new object[0]); exception = new Exception(); }
private static object ValueReturnedForType(IAction action, Type returnType) { var method = new MethodInfoStub("method", new ParameterInfo[0]); method.StubReturnType = returnType; var invocation = new Invocation(RECEIVER, method, new object[0]); action.Invoke(invocation); return invocation.Result; }