protected void ExecuteDelegateInWxeFunction(ITransactionMode transactionMode, Action <WxeContext, DelegateExecutingTransactedFunction> testDelegate)
        {
            var function = new DelegateExecutingTransactedFunction(transactionMode, testDelegate);

            function.Execute(Context);
            Assert.That(function.DelegatesExecuted, Is.True);
        }
        protected void ExecuteDelegateInSubWxeFunction(
            ITransactionMode parentFunctionTransactionMode,
            ITransactionMode subFunctionTransactionMode,
            Action <WxeContext, DelegateExecutingTransactedFunction> testDelegate)
        {
            var subFunction = new DelegateExecutingTransactedFunction(subFunctionTransactionMode, testDelegate);

            var rootFunction = new TransactedFunctionWithChildFunction(parentFunctionTransactionMode, subFunction);

            rootFunction.Execute(Context);

            Assert.That(subFunction.DelegatesExecuted, Is.True);
        }