static void ctxTestRule(S input, S ruleName) {
ctxTestRule("", input, ruleName);
}
static void ctxTestRule(S prelude, S input, S ruleName) {
//ruleName = addPrefix("Agent#", ruleName);
S desc = prelude + input + " -> " + ruleName;
print("\nTesting: " + desc);
try {
ctxContext().rulesFired.clear();
ctxClearOutput();
ctxProcessInput(input);
ctxProcessRules();
ctxDefaultOnEmptyOutput();
S output = ctxGetOutput();
bool ok1 = ctxContext().rulesFired.contains(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(ok1)+boolToInt(ok2))*50);
} catch e {
addTestResult(desc, e);
}
}download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1008973 |
| Snippet name: | ctxTestRule - test if a rule fires on input; uses current ctxContext - calls addTestResult |
| Eternal ID of this version: | #1008973/14 |
| Text MD5: | ea45bafe28ce8261e8a0869439052009 |
| Author: | stefan |
| Category: | javax / a.i. |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2017-07-14 19:51:43 |
| Source code size: | 833 bytes / 27 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 1111 / 979 |
| Version history: | 13 change(s) |
| Referenced in: | [show references] |