use of org.whole.lang.grammars.model.Production in project whole by wholeplatform.
the class ControlQueriesTest method testQueryDecl4.
@Test
public void testQueryDecl4() {
Grammar grammar = new TestXmlGrammar().create();
IBindingManager bm = BindingManagerFactory.instance.createArguments();
ITemplateManager tm = ControlQueriesTemplateManager.instance();
PathExpression query = (PathExpression) tm.create("queryDecl4");
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);
}
use of org.whole.lang.grammars.model.Production in project whole by wholeplatform.
the class ControlQueriesTest method testQueryDecl3.
@Test
public void testQueryDecl3() {
Grammar grammar = new TestXmlGrammar().create();
IBindingManager bm = BindingManagerFactory.instance.createArguments();
ITemplateManager tm = ControlQueriesTemplateManager.instance();
PathExpression query = (PathExpression) tm.create("queryDecl3");
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);
}
use of org.whole.lang.grammars.model.Production in project whole by wholeplatform.
the class PathExpressionsQueriesTest method testOnePredicate.
@Test
public void testOnePredicate() {
ITemplateManager tm = PathExpressionsQueriesTemplateManager.instance();
Grammar g = new TestXmlGrammar().create();
PathExpression pe1 = (PathExpression) tm.create("exactlyOneDefUse");
IBindingManager bm = BindingManagerFactory.instance.createArguments();
IEntityIterator<Production> iterator = BehaviorUtils.<Production>compileAndLazyEvaluate(pe1, g, bm);
Assert.assertTrue(iterator.hasNext());
Production p = iterator.next();
Assert.assertEquals("IName", p.getName().getValue());
Assert.assertFalse(iterator.hasNext());
}
use of org.whole.lang.grammars.model.Production in project whole by wholeplatform.
the class PathExpressionsQueriesTest method testVariableJoinTest2.
@Test
public void testVariableJoinTest2() {
ITemplateManager tm = PathExpressionsQueriesTemplateManager.instance();
Grammar g = new QueriesGrammar().create();
PathExpression pe1 = (PathExpression) tm.create("recursiveProduction2");
StringBuilder names = new StringBuilder();
for (Production p : BehaviorUtils.<Production>compileAndLazyEvaluate(pe1, g)) names.append(p.getName().getValue());
Assert.assertEquals("ExpressionPathExpressionStepExpressionPredicate", names.toString());
}
use of org.whole.lang.grammars.model.Production in project whole by wholeplatform.
the class PathExpressionsQueriesTest method testIndexTest.
@Test
public void testIndexTest() {
ITemplateManager tm = PathExpressionsQueriesTemplateManager.instance();
Grammar g = new TestXmlGrammar().create();
IEntityIterator<Production> pi = BehaviorUtils.compileAndLazyEvaluate((PathExpression) tm.create("path1a"), g);
Assert.assertTrue(pi.hasNext());
Assert.assertSame(g.getPhraseStructure().wGet(2), pi.next());
Assert.assertFalse(pi.hasNext());
pi = BehaviorUtils.compileAndLazyEvaluate((PathExpression) tm.create("path1b"), g);
Assert.assertTrue(pi.hasNext());
Assert.assertSame(g.getPhraseStructure().wGet(2), pi.next());
Assert.assertFalse(pi.hasNext());
pi = BehaviorUtils.compileAndLazyEvaluate((PathExpression) tm.create("path1c"), g);
Assert.assertTrue(pi.hasNext());
Assert.assertSame(g.getPhraseStructure().wGet(3), pi.next());
Assert.assertFalse(pi.hasNext());
pi = BehaviorUtils.compileAndLazyEvaluate((PathExpression) tm.create("path1d"), g);
Assert.assertTrue(pi.hasNext());
Assert.assertSame(g.getPhraseStructure().wGet(3), pi.next());
Assert.assertFalse(pi.hasNext());
}
Aggregations