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