public void BeginInvokeActionEndContinuationWithThreadAbortException() {
            // Arrange
            ThreadAbortException ex = (ThreadAbortException)Activator.CreateInstance(typeof(ThreadAbortException), true /* nonPublic */);
            AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker();

            // Act & assert
            ExceptionHelper.ExpectException<ThreadAbortException>(
                delegate {
                    invoker.BeginInvokeActionEndContinuation(null, null, () => { throw ex; });
                });
        }
        public void BeginInvokeActionEndContinuationWithNormalControlFlow() {
            // Arrange
            bool wasCalled = false;
            AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker();

            // Act
            invoker.BeginInvokeActionEndContinuation(null, null, () => { wasCalled = true; });

            // Assert
            Assert.IsTrue(wasCalled);
        }