public void ProceedAndReturnWithRuntimePolicyOff(AsyncActionInvoker.BeginInvokeActionMethod sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.Verify(c => c.Proxy, Times.Never());
        }
        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 ImplementProperMethod()
        {
            IAlternateMethod sut = new AsyncActionInvoker.BeginInvokeActionMethod();

            Assert.Equal("BeginInvokeActionMethod", sut.MethodToImplement.Name);
        }
        public void ImplementProperMethod()
        {
            IAlternateMethod sut = new AsyncActionInvoker.BeginInvokeActionMethod();

            Assert.Equal("BeginInvokeActionMethod", sut.MethodToImplement.Name);
        }