assertTrue(tf.runTestInSameEvaluator("top_down(functionToStrategy(rules4))(t4) == f(g(c()),g(c()))"));
tf = new TestFramework();
tf.prepare("import StrategyTests;");
tf.prepareMore("import Strategy;");
tf.prepareMore("A t = f(g(g(b())),g(g(b())));");
assertTrue(tf.runTestInSameEvaluator("innermost(rules)(t) == f(b(),b())"));
tf = new TestFramework();
tf.prepare("import StrategyTests;");
tf.prepareMore("import Strategy;");
tf.prepareMore("A t = f(g(g(b())),g(g(b())));");
assertTrue(tf.runTestInSameEvaluator("outermost(rules)(t) == f(b(),b())"));