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