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