static void ctxTestRule(S input, S ruleName) { ruleName = addPrefix("Agent#", ruleName); ctxContext().rulesFired.clear(); ctxClearOutput(); ctxProcessInput(input); ctxProcessRules(); S output = ctxGetOutput(); bool ok1 = ctxContext().rulesFired.contains(ruleName); S desc = input + " -> " + ruleName; if (!ok1) desc += " was: " + struct(ctxContext().rulesFired); bool ok2 = nempty(output); if (!ok2) desc += " no output"; else desc += " output: " + quote(output); addTestResult(desc, (boolToInt(ok)+boolToInt(ok2))*50); }