use of org.whole.lang.templates.ITemplateManager in project whole by wholeplatform.
the class ControlQueriesTest method testIf4.
@Test
public void testIf4() {
ITemplateManager tm = ControlQueriesTemplateManager.instance();
PathExpression query = (PathExpression) tm.create("if4");
QueriesEntityFactory qef = QueriesEntityFactory.instance;
IEntity queryExp1 = qef.createDivision(qef.createIntLiteral(10), qef.createIntLiteral(8));
IBindingManager bm = BindingManagerFactory.instance.createBindingManager();
IEntityIterator<IEntity> iterator = BehaviorUtils.compileAndLazyEvaluate(query, queryExp1, bm);
assertTrue(iterator.hasNext());
IEntity exp1 = iterator.next();
assertSame(queryExp1.wGet(0), exp1);
assertTrue(bm.wIsSet("a"));
assertFalse(bm.wIsSet("b"));
assertFalse(bm.wIsSet("exp1"));
assertFalse(bm.wIsSet("exp2"));
assertTrue(iterator.hasNext());
IEntity exp2 = iterator.next();
assertSame(queryExp1.wGet(1), exp2);
assertFalse(bm.wIsSet("a"));
assertTrue(bm.wIsSet("b"));
assertFalse(bm.wIsSet("exp1"));
assertFalse(bm.wIsSet("exp2"));
assertFalse(iterator.hasNext());
}
use of org.whole.lang.templates.ITemplateManager in project whole by wholeplatform.
the class ControlQueriesTest method testDo1.
@Test
public void testDo1() {
Model model = new XmlModel().create();
ITemplateManager tm = ControlQueriesTemplateManager.instance();
PathExpression query = (PathExpression) tm.create("do1");
IEntity result = BehaviorUtils.evaluateFirstResult(query, model);
assertTrue(result instanceof ClassDeclaration);
assertEquals("HelloWorld", ((ClassDeclaration) result).getName().getValue());
}
use of org.whole.lang.templates.ITemplateManager in project whole by wholeplatform.
the class ControlQueriesTest method testIf2.
@Test
public void testIf2() {
Model model = new XmlModel().create();
ITemplateManager tm = ControlQueriesTemplateManager.instance();
PathExpression query = (PathExpression) tm.create("if2");
IEntity result = BehaviorUtils.evaluateFirstResult(query, model);
assertTrue(result instanceof ClassDeclaration);
assertEquals(model.getName().getValue(), ((ClassDeclaration) result).getName().getValue());
}
use of org.whole.lang.templates.ITemplateManager in project whole by wholeplatform.
the class ControlQueriesTest method testQueryDecl9.
@Test
public void testQueryDecl9() {
QueriesEntityFactory qef = QueriesEntityFactory.instance;
IEntity queryExp1 = qef.createAddition(qef.createAddition(qef.createIntLiteral(10), qef.createIntLiteral(8)), qef.createAddition(qef.createIntLiteral(2), qef.createIntLiteral(1)));
ITemplateManager tm = ControlQueriesTemplateManager.instance();
PathExpression query = (PathExpression) tm.create("queryDecl9");
assertTrue(Matcher.match(queryExp1, BehaviorUtils.evaluateFirstResult(query, queryExp1)));
}
use of org.whole.lang.templates.ITemplateManager in project whole by wholeplatform.
the class ControlQueriesTest method testCall4.
@Test
public void testCall4() {
Grammar grammar = new TestXmlGrammar().create();
IBindingManager bm = BindingManagerFactory.instance.createArguments();
ITemplateManager tm = ControlQueriesTemplateManager.instance();
PathExpression query = (PathExpression) tm.create("call4");
int count = 0;
for (IEntity p : BehaviorUtils.compileAndLazyEvaluate(query, grammar, bm)) {
assertTrue(Matcher.match(GrammarsEntityDescriptorEnum.Production, p));
assertEquals("IContent", ((Production) p).getName().getValue());
count++;
}
assertEquals(1, count);
}
Aggregations