/// <summary> /// Evaluates the rule and its sub rules /// </summary> /// <param name="runner"></param> /// <param name="priority">the priority level : a rule can be activated only if its priority level == priority</param> /// <param name="instance">The instance on which the rule must be evaluated</param> /// <param name="ruleConditions">the rule conditions to be activated</param> /// <returns>the number of actions that were activated during this evaluation</returns> public bool Evaluate(Tests.Runner.Runner runner, Generated.acceptor.RulePriority priority, Utils.IModelElement instance, List <RuleCondition> ruleConditions) { bool retVal = false; long start = System.Environment.TickCount; if (Disabled == false && ActivationPriorities.Contains(priority)) { foreach (RuleCondition ruleCondition in RuleConditions) { retVal = ruleCondition.Evaluate(runner, priority, instance, ruleConditions); if (retVal) { break; } } } // Guard evaluation execution time long stop = System.Environment.TickCount; long span = (stop - start); ExecutionTimeInMilli += span; return(retVal); }
/// <summary> /// Executes the test cases for this test sequence /// </summary> /// <param name="runner">The runner used to execute the test case</param> /// <returns>the number of failed test cases</returns> public int ExecuteAllTestCases(Tests.Runner.Runner runner) { int retVal = 0; foreach (DataDictionary.Tests.TestCase testCase in TestCases) { int currentFailed = runner.FailedExpectations().Count; runner.RunUntilStep(null); if (runner.FailedExpectations().Count > currentFailed) { retVal = retVal + 1; } } return(retVal); }
/// <summary> /// Evaluates the rule and its sub rules /// </summary> /// <param name="runner"></param> /// <param name="priority">the priority level : a rule can be activated only if its priority level == priority</param> /// <param name="instance">The instance on which the rule must be evaluated</param> /// <param name="ruleConditions">the rule conditions to be activated</param> /// <returns>the number of actions that were activated during this evaluation</returns> public bool Evaluate(Tests.Runner.Runner runner, Generated.acceptor.RulePriority priority, Utils.IModelElement instance, List <RuleCondition> ruleConditions) { bool retVal = false; Interpreter.InterpretationContext context = new Interpreter.InterpretationContext(instance); retVal = EvaluatePreConditions(context); if (retVal) { foreach (Rule subRule in SubRules) { subRule.Evaluate(runner, priority, instance, ruleConditions); } if (EnclosingRule.getPriority() == priority) { ruleConditions.Add(this); } } return(retVal); }