use of org.whole.lang.templates.ITemplateManager in project whole by wholeplatform.
the class SelectQueriesTest method testSelectTemplateWithFreeVariable.
@Test
public void testSelectTemplateWithFreeVariable() {
ITemplateManager tm = SelectQueriesTemplateManager.instance();
Model m = new XmlModel().create();
PathExpression pe1 = (PathExpression) tm.create("selectTemplateWithFreeVariable");
IBindingManager bm = BindingManagerFactory.instance.createArguments();
for (ClassDeclaration t : BehaviorUtils.<ClassDeclaration>compileAndLazyEvaluate(pe1, m, bm)) {
assertEquals(JavaEntityDescriptorEnum.ClassDeclaration, t.wGetEntityDescriptor());
if (bm.wIsSet("freeVariable")) {
assertEquals(bm.wStringValue("freeVariable"), t.getName().wStringValue());
bm.wUnset("freeVariable");
} else {
assertTrue(t.getName().wIsAdapter());
bm.wDefValue("freeVariable", "MyClassName");
}
}
}
use of org.whole.lang.templates.ITemplateManager in project whole by wholeplatform.
the class SelectQueriesTest method testSelectHelperResultAs.
@Test
public void testSelectHelperResultAs() {
ITemplateManager tm = SelectQueriesTemplateManager.instance();
Model model = new XmlModel().create();
PathExpression query = (PathExpression) tm.create("selectHelperResultAs");
IBindingManager bm = BindingManagerFactory.instance.createArguments();
for (IEntity tuple : BehaviorUtils.compileAndLazyEvaluate(query, model, bm)) {
IEntity stringData = tuple.wGet(0);
SimpleEntity e = (SimpleEntity) tuple.wGet(1);
String entityName = e.getName().getValue();
String className = bm.wStringValue("className");
assertEquals(StringUtils.toUpperCap(entityName), className);
assertEquals(className, stringData.wStringValue());
}
}
use of org.whole.lang.templates.ITemplateManager in project whole by wholeplatform.
the class SelectQueriesTest method testSelectTemplateWithTwoNestedSelectQueries.
@Test
public void testSelectTemplateWithTwoNestedSelectQueries() {
ITemplateManager tm = SelectQueriesTemplateManager.instance();
Model m = new XmlModel().create();
PathExpression pe1 = (PathExpression) tm.create("selectTemplateWithTwoNestedSelectQueries");
for (ClassDeclaration t : BehaviorUtils.<ClassDeclaration>compileAndLazyEvaluate(pe1, m)) {
assertEquals(JavaEntityDescriptorEnum.ClassDeclaration, t.wGetEntityDescriptor());
BodyDeclarations bodyDeclarations = t.getBodyDeclarations();
MethodDeclaration md = (MethodDeclaration) bodyDeclarations.wGet(bodyDeclarations.wSize() - 1);
assertEquals(bodyDeclarations.wSize() - 1, md.getBody().wSize());
}
}
use of org.whole.lang.templates.ITemplateManager in project whole by wholeplatform.
the class SelectQueriesTest method testSelectTemplateAs.
@Test
public void testSelectTemplateAs() {
Model model = new XmlModel().create();
ITemplateManager tm = SelectQueriesTemplateManager.instance();
PathExpression query = (PathExpression) tm.create("selectTemplateAs");
IBindingManager bm = BindingManagerFactory.instance.createArguments();
for (IEntity tuple : BehaviorUtils.compileAndLazyEvaluate(query, model, bm)) {
FieldDeclaration f = (FieldDeclaration) tuple.wGet(0);
Feature e = (Feature) tuple.wGet(1);
FieldDeclaration field = (FieldDeclaration) bm.wGet("field");
assertSame(f, field);
String ptype = e.getType().wStringValue();
assertEquals(ptype, field.getType().wStringValue());
}
}
use of org.whole.lang.templates.ITemplateManager in project whole by wholeplatform.
the class SelectQueriesTest method testSelectTemplateFromPathWithPattern.
@Test
public void testSelectTemplateFromPathWithPattern() {
ITemplateManager tm = SelectQueriesTemplateManager.instance();
Model m = new XmlModel().create();
PathExpression pe1 = (PathExpression) tm.create("selectTemplateFromPathWithPattern");
IEntityIterator<Feature> featureIterator = IteratorFactory.<Feature>descendantOrSelfMatcherIterator().withPattern(ModelsEntityDescriptorEnum.Feature);
featureIterator.reset(m);
for (FieldDeclaration field : BehaviorUtils.<FieldDeclaration>compileAndLazyEvaluate(pe1, m)) {
Feature feature = featureIterator.next();
assertEquals(feature.getType().wStringValue(), field.getType().wStringValue());
assertEquals(feature.getName().wStringValue(), field.getFragments().wGet(0).wGet(0).wStringValue());
}
}
Aggregations