示例#1
0
        public void SetUp()
        {
            WxeContextFactory wxeContextFactory = new WxeContextFactory();

            _context = wxeContextFactory.CreateContext(new TestFunction());

            _executionListenerMock        = MockRepository.GenerateMock <IWxeFunctionExecutionListener>();
            _executionContextMock         = MockRepository.GenerateMock <IWxeFunctionExecutionContext>();
            _outerTransactionStrategyMock = MockRepository.GenerateMock <TransactionStrategyBase>();
            _strategy = new NoneTransactionStrategy(_outerTransactionStrategyMock);
        }
示例#2
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));
        }