public void SetUp()
        {
            WxeContextFactory wxeContextFactory = new WxeContextFactory();

            _wxeContext = wxeContextFactory.CreateContext(new TestFunction());
            TransactionStrategyBase      outerTransactionStrategyStub = MockRepository.GenerateStub <TransactionStrategyBase>();
            IWxeFunctionExecutionContext executionContextStub         = MockRepository.GenerateStub <IWxeFunctionExecutionContext>();

            executionContextStub.Stub(stub => stub.GetInParameters()).Return(new object[0]);

            _childTransactionMock = MockRepository.GenerateMock <ITransaction>();
            var parentTransactionStub = MockRepository.GenerateStub <ITransaction>();

            parentTransactionStub.Stub(stub => stub.CreateChild()).Return(_childTransactionMock);
            _transactionStrategyMock = MockRepository.GenerateMock <ChildTransactionStrategy> (
                false, outerTransactionStrategyStub, parentTransactionStub, executionContextStub);

            _innerListenerMock   = MockRepository.GenerateMock <IWxeFunctionExecutionListener>();
            _transactionListener = new ChildTransactionExecutionListener(_transactionStrategyMock, _innerListenerMock);
        }
Exemplo n.º 2
0
        public void SetUp()
        {
            _mockRepository = new MockRepository();
            WxeContextFactory wxeContextFactory = new WxeContextFactory();

            _context = wxeContextFactory.CreateContext(new TestFunction());
            _outerTransactionStrategyMock = _mockRepository.StrictMock <TransactionStrategyBase> ();
            _parentTransactionMock        = _mockRepository.StrictMock <ITransaction>();
            _childTransactionMock         = _mockRepository.StrictMock <ITransaction> ();
            _executionContextStub         = _mockRepository.Stub <IWxeFunctionExecutionContext> ();
            _executionListenerStub        = _mockRepository.Stub <IWxeFunctionExecutionListener> ();

            _executionContextStub.Stub(stub => stub.GetInParameters()).Return(new object[0]);
            _parentTransactionMock.Stub(stub => stub.CreateChild()).Return(_childTransactionMock);
            _childTransactionMock.Stub(stub => stub.EnsureCompatibility(Arg <IEnumerable> .Is.NotNull));
            _mockRepository.ReplayAll();

            _strategy = new ChildTransactionStrategy(true, _outerTransactionStrategyMock, _parentTransactionMock, _executionContextStub);

            _mockRepository.BackToRecordAll();
        }
Exemplo n.º 3
0
        public void CreateChildTransactionStrategy()
        {
            var grandParentTransactionStrategyMock = MockRepository.GenerateMock <TransactionStrategyBase> ();

            var noneTransactionStrategy = new NoneTransactionStrategy(grandParentTransactionStrategyMock);

            var childExecutionContextStub = MockRepository.GenerateStub <IWxeFunctionExecutionContext>();

            childExecutionContextStub.Stub(stub => stub.GetInParameters()).Return(new object[0]);

            var fakeParentTransaction = MockRepository.GenerateStub <ITransaction>();

            fakeParentTransaction.Stub(stub => stub.CreateChild()).Return(MockRepository.GenerateStub <ITransaction>());
            var fakeChildTransactionStrategy = new ChildTransactionStrategy(
                false, grandParentTransactionStrategyMock, fakeParentTransaction, childExecutionContextStub);

            grandParentTransactionStrategyMock
            .Expect(mock => mock.CreateChildTransactionStrategy(true, childExecutionContextStub, _context))
            .Return(fakeChildTransactionStrategy);

            TransactionStrategyBase actual = noneTransactionStrategy.CreateChildTransactionStrategy(true, childExecutionContextStub, _context);

            Assert.That(actual, Is.SameAs(fakeChildTransactionStrategy));
        }