public void StartTimingExecution(AsyncActionInvoker.BeginInvokeActionMethod sut, IAlternateMethodContext context, IActionInvokerStateMixin mixin)
        {
            context.Setup(c => c.Proxy).Returns(mixin);
            context.Setup(c => c.Arguments).Returns(new object[]
                                                            {
                                                                new ControllerContext(),
                                                                new Mock<ActionDescriptor>().Object,
                                                                new Dictionary<string, object>(),
                                                                new AsyncCallback(delegate { }),
                                                                "state"
                                                            });

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.Verify(c => c.Proxy);
            mixin.VerifySet(m => m.Offset = It.IsAny<TimeSpan>());
        }
        public void StartTimingExecution(AsyncActionInvoker.BeginInvokeActionMethod sut, IAlternateMethodContext context, IActionInvokerStateMixin mixin)
        {
            context.Setup(c => c.Proxy).Returns(mixin);
            context.Setup(c => c.Arguments).Returns(new object[]
            {
                new ControllerContext(),
                new Mock <ActionDescriptor>().Object,
                new Dictionary <string, object>(),
                new AsyncCallback(delegate { }),
                "state"
            });

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.Verify(c => c.Proxy);
            mixin.VerifySet(m => m.Offset = It.IsAny <TimeSpan>());
        }