package org.geotools.process.feature.gs; import static org.junit.Assert.*; import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; import java.util.EnumSet; import java.util.Map; import java.util.Set; import org.geotools.data.DataStore; import org.geotools.data.property.PropertyDataStore; import org.geotools.data.simple.SimpleFeatureSource; import org.geotools.feature.NameImpl; import org.geotools.process.Process; import org.geotools.process.Processors; import org.geotools.process.feature.gs.AggregateProcess.AggregationFunction; import org.geotools.process.feature.gs.AggregateProcess.Results; import org.geotools.test.TestData; import org.geotools.util.KVP; import org.geotools.util.NullProgressListener; import org.junit.After; import org.junit.Before; import org.junit.Test; /** * * * @source $URL$ */ public class FeatureGSProcessFactoryFactoryTest { DataStore bugs; @Before public void setup() throws IOException { File file = TestData.file(this, null ); bugs = new PropertyDataStore( file ); } @After public void tearDown(){ bugs.dispose(); } @Test public void testSum() throws Exception { SimpleFeatureSource source = bugs.getFeatureSource("bugsites"); Map<String,Object> input = new KVP( "features", source.getFeatures(), "aggregationAttribute","cat", "function",EnumSet.of(AggregationFunction.Sum), "singlePass", true); NameImpl name = new NameImpl("gs","Aggregate"); Process process = Processors.createProcess( name ); assertNotNull("aggregateProcess not found", process); NullProgressListener monitor = new NullProgressListener(); Map<String, Object> output = process.execute(input, monitor ); Results result = (Results) output.get("result"); assertTrue( result.sum > 0 ); } }