/** * Helper method that construct the group by visitor and visit the given feature collection. The * visitor result is also checked against the expected result. */ private GroupByVisitor executeVisitor( FeatureCollection featureCollection, String aggregateAttribute, String aggregateVisitor, String[] groupByAttributes) throws Exception { GroupByVisitor visitor = buildVisitor(aggregateAttribute, aggregateVisitor, groupByAttributes); featureCollection.accepts(visitor, new NullProgressListener()); return visitor; }
@Test public void testFeatureAttributeVisitor() { GroupByVisitor visitor = buildVisitor("energy_consumption", "Average", new String[] {"building_type"}); List<Expression> expressions = visitor.getExpressions(); Set<String> names = new HashSet<>(); for (Expression expression : expressions) { PropertyName pn = (PropertyName) expression; names.add(pn.getPropertyName()); } assertEquals(2, names.size()); assertTrue(names.contains("energy_consumption")); assertTrue(names.contains("building_type")); }