BeginExecute() public method

public BeginExecute ( System.Web.Mvc.ControllerContext controllerContext, object>.IDictionary parameters, AsyncCallback callback, object state ) : IAsyncResult
controllerContext System.Web.Mvc.ControllerContext
parameters object>.IDictionary
callback AsyncCallback
state object
return IAsyncResult
        public void ShouldHandleTasksWithNoReturnValue()
        {
            var controllerContext = MockRepository.GenerateStub<ControllerContext>();
            controllerContext.Controller = new TaskController();

            var actionMethod = typeof(TaskController).GetMethod("MethodReturningTaskWithNoResult");

            var subjectUnderTest = new ReflectedTaskPatternActionDescriptor(actionMethod, null);

            AsyncCallback callback = ar => subjectUnderTest.EndExecute(ar);

            var task = Task<object>.Factory.FromAsync(
                subjectUnderTest.BeginExecute(controllerContext, null, callback, null),
                subjectUnderTest.EndExecute);

            Assert.IsNull(task.Result);
        }
        public void ShouldReturnTaskResultWhenExecutedAsynchronously()
        {
            var controllerContext = MockRepository.GenerateStub<ControllerContext>();
            controllerContext.Controller = new TaskController();

            var actionMethod = typeof(TaskController).GetMethod("MethodReturningTask");

            var subjectUnderTest = new ReflectedTaskPatternActionDescriptor(actionMethod, null);
            
            AsyncCallback callback = ar => subjectUnderTest.EndExecute(ar);

            var task = Task<object>.Factory.FromAsync(
                subjectUnderTest.BeginExecute(controllerContext, null, callback, null),
                subjectUnderTest.EndExecute);

            Assert.IsInstanceOf<ViewResult>(task.Result);
        }