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); }
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(); }
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)); }