use of com.sri.ai.grinder.sgdpllt.rewriter.core.Switch in project aic-expresso by aic-sri-international.
the class SwitchTest method testConditionalSwitchRewriter.
@Test
public void testConditionalSwitchRewriter() {
Rewriter baseRewriterSum = e -> new SumStepSolver(e);
Rewriter baseRewriterSubtraction = e -> new SubtractionStepSolver(e);
Switch rewriter = new Switch<String>(e -> e.getFunctor() != null ? e.getFunctor().toString() : "", map("+", baseRewriterSum, "-", baseRewriterSubtraction));
Expression initial;
Expression expected;
initial = parse("7");
expected = parse("7");
runTest(rewriter, initial, expected, map());
initial = parse("10 - 3");
expected = parse("if Inverted then 13 else 7");
runTest(rewriter, initial, expected, map(inverted, parse("Boolean")));
initial = parse("10 + 3");
expected = parse("if Inverted then 7 else 13");
runTest(rewriter, initial, expected, map(inverted, parse("Boolean")));
}
Aggregations