/// <summary> /// Executes the evaluation of an expect statement. /// </summary> /// <param name="context">Execution call context.</param> /// <param name="evaluation">The expect statement evaluation code.</param> /// <param name="negativeVerdict">The verdict for negative evaluation result.</param> /// <param name="title">The expect statement title.</param> /// <param name="expected">String representation of the expectation.</param> /// <returns>Whether the procedure should skip the rest and return immediately.</returns> public static bool ExpectStatement( IScriptCallContext context, ExpectStatementEvaluationDelegate evaluation, Verdict negativeVerdict, string title, string expected) { bool success; try { string actual; success = evaluation(context, out actual); context.ReportExpectResult(title, expected, actual, success ? Verdict.Pass : negativeVerdict); if (success) { return(false); } else if (negativeVerdict == Verdict.Error) { return(true); } else { return((context.Self.Flags & ProcedureFlags.ContinueOnFail) == ProcedureFlags.None); } } catch (Exception ex) { if (context != null) { context.ReportError($"Exception thrown during expect statement execution.", exception: ex); } else { throw; } return(true); // Do exit the procedure } }
public void ReportExpectResult(string title, string expected, string actual, Verdict verdict) { m_context.ReportExpectResult(title, expected, actual, verdict); }