protected void InvokeOnExecutionPause(ScopedTransactionStrategyBase strategy)
        {
            _childTransactionStrategyMock.BackToRecord();
            _childTransactionStrategyMock.Stub(stub => stub.OnExecutionPause(_context, _executionListenerStub));
            _childTransactionStrategyMock.Replay();

            _scopeMock.BackToRecord();
            _scopeMock.Stub(stub => stub.Leave());
            _scopeMock.Replay();

            strategy.OnExecutionPause(Context, _executionListenerStub);

            _childTransactionStrategyMock.BackToRecord();
            _scopeMock.BackToRecord();
        }
        public void Test()
        {
            InvokeOnExecutionPlay(_strategy);

            using (MockRepository.Ordered())
            {
                ChildTransactionStrategyMock.Expect(mock => mock.OnExecutionPause(Context, ExecutionListenerStub));
                ScopeMock.Expect(mock => mock.Leave());
            }

            MockRepository.ReplayAll();

            _strategy.OnExecutionPause(Context, ExecutionListenerStub);

            MockRepository.VerifyAll();
            Assert.That(_strategy.Scope, Is.Null);
        }