public void ExecuteReplacesIncorrectValueTypeValuesWithDefaultInstanceOnActionMethod() { // Arrange Mock <ControllerContext> mockControllerContext = new Mock <ControllerContext>(); mockControllerContext.Expect(c => c.Controller).Returns(new ExecuteController()); ControllerContext controllerContext = mockControllerContext.Object; MethodInfo actionMethod = typeof(ExecuteController).GetMethod("FooWithBool"); Dictionary <string, object> parameters = new Dictionary <string, object>() { { "id1", 42 } }; ReflectedEventPatternActionDescriptor ad = GetActionDescriptor(_setupMethod, actionMethod); SignalContainer <object> resultContainer = new SignalContainer <object>(); AsyncCallback callback = ar => { object o = ad.EndExecute(ar); resultContainer.Signal(o); }; // Act ad.BeginExecute(controllerContext, parameters, callback, null); object retVal = resultContainer.Wait(); // Assert Assert.AreEqual("False42", retVal); }
public void Execute() { // Arrange Mock <ControllerContext> mockControllerContext = new Mock <ControllerContext>(); mockControllerContext.Expect(c => c.Controller).Returns(new ExecuteController()); ControllerContext controllerContext = mockControllerContext.Object; Dictionary <string, object> parameters = new Dictionary <string, object>() { { "id1", 42 } }; ReflectedEventPatternActionDescriptor ad = GetActionDescriptor(_setupMethod, _completionMethod); SignalContainer <object> resultContainer = new SignalContainer <object>(); AsyncCallback callback = ar => { object o = ad.EndExecute(ar); resultContainer.Signal(o); }; // Act ad.BeginExecute(controllerContext, parameters, callback, null); object retVal = resultContainer.Wait(); // Assert Assert.AreEqual("Hello world: 42", retVal); }
public void Execute() { // Arrange Mock <ControllerContext> mockControllerContext = new Mock <ControllerContext>(); mockControllerContext.Expect(c => c.Controller).Returns(new ExecuteController()); ControllerContext controllerContext = mockControllerContext.Object; MethodInfo beginMethod = typeof(ExecuteController).GetMethod("BeginMethod"); MethodInfo endMethod = typeof(ExecuteController).GetMethod("EndMethod"); Dictionary <string, object> parameters = new Dictionary <string, object>() { { "id", 42 } }; ReflectedAsyncPatternActionDescriptor ad = GetActionDescriptor(beginMethod, endMethod); SignalContainer <object> resultContainer = new SignalContainer <object>(); AsyncCallback callback = ar => { object o = ad.EndExecute(ar); resultContainer.Signal(o); }; // Act ad.BeginExecute(controllerContext, parameters, callback, null); object retVal = resultContainer.Wait(); // Assert Assert.AreEqual(42, retVal); }
public void InvokeWithCallback() { // Arrange ObjectAsyncResult <int> oar = new ObjectAsyncResult <int>(42); SignalContainer <IAsyncResult> callbackContainer = new SignalContainer <IAsyncResult>(); AsyncCallback callback = ar => { callbackContainer.Signal(ar); }; // Act IAsyncResult asyncResult = oar.BeginInvoke(callback, "some state"); IAsyncResult passedToCallback = callbackContainer.Wait(); int returned = oar.EndInvoke(asyncResult); // Assert Assert.AreEqual(asyncResult, passedToCallback); Assert.AreEqual("some state", asyncResult.AsyncState); Assert.AreEqual(42, returned); }