public void EndTransaction()

in src/TestFramework/Core/ProtocolTestsManager.cs [370:407]


        public void EndTransaction(bool commit)
        {
            if (!transactionStarted)
                throw new InvalidOperationException("no test manager transaction active which can be ended");
            if (commit)
            {
                foreach (TransactionEvent te in transactionEvents)
                {
                    switch (te.Kind)
                    {
                        case TransactionEventKind.Assert:
                            this.Log.Assert(te.condition, te.description);
                            break;
                        case TransactionEventKind.Assume:
                            this.Log.Assume(te.condition, te.description);
                            break;
                        case TransactionEventKind.Checkpoint:
                            this.Log.Checkpoint(te.description);
                            break;
                        case TransactionEventKind.Comment:
                            this.Log.Comment(te.description);
                            break;
                        case TransactionEventKind.VariableBound:
                            this.Log.Comment(String.Format("bound variable {0} to value: {1} ", te.variable.Name, te.variable.ObjectValue));
                            break;
                    }
                }
            }
            else
            {
                // unroll variable bindings
                foreach (TransactionEvent te in transactionEvents)
                    if (te.Kind == TransactionEventKind.VariableBound)
                        te.variable.InternalUnbind();
            }
            
            transactionEvents = null;
        }