/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2011, Open Source Geospatial Foundation (OSGeo) * (C) 2001-2007 TOPP - www.openplans.org. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.geotools.process.vector; 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.vector.AggregateProcess.AggregationFunction; import org.geotools.process.vector.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("vec","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 ); } }