Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }