Package org.geotools.process.vector

Source Code of org.geotools.process.vector.TransformProcessTest

/*
*    GeoTools - The Open Source Java GIS Toolkit
*    http://geotools.org
*
*    (C) 2012, Open Source Geospatial Foundation (OSGeo)
*
*    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 java.io.File;
import java.io.IOException;
import java.util.EnumSet;
import java.util.List;
import java.util.Set;

import org.geotools.data.DataStore;
import org.geotools.data.property.PropertyDataStore;
import org.geotools.data.simple.SimpleFeatureCollection;
import org.geotools.data.simple.SimpleFeatureSource;
import org.geotools.process.vector.TransformProcess;
import org.geotools.process.vector.AggregateProcess.AggregationFunction;
import org.geotools.process.vector.AggregateProcess.Results;
import org.geotools.process.vector.TransformProcess.Definition;
import org.geotools.test.TestData;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.opengis.feature.simple.SimpleFeatureType;
import org.opengis.feature.type.AttributeDescriptor;
import org.opengis.filter.expression.PropertyName;

/**
*
*
* @source $URL$
*/
public class TransformProcessTest {
    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 testDefinition() throws Exception {
        String definition = "the_geom=the_geom";
        List<Definition> def = TransformProcess.toDefinition( definition );

        assertEquals( 1, def.size() );
       
        assertEquals( "the_geom", def.get(0).name );
        assertTrue( def.get(0).expression instanceof PropertyName );
    }

    @Test
    public void testDefinitionListLF() throws Exception {
        String definition = "the_geom=the_geom\ncat=cat+1";
        List<Definition> def = TransformProcess.toDefinition( definition );

        assertEquals( 2, def.size() );
       
        assertEquals( "the_geom", def.get(0).name );
        assertTrue( def.get(0).expression instanceof PropertyName );
        assertEquals( "cat", def.get(1).name );
    }

    @Test
    public void testDefinitionListDelimiter() throws Exception {
        String definition = "the_geom=the_geom; cat=cat+1";
        List<Definition> def = TransformProcess.toDefinition( definition );

        assertEquals( 2, def.size() );
       
        assertEquals( "the_geom", def.get(0).name );
        assertTrue( def.get(0).expression instanceof PropertyName );
        assertEquals( "cat", def.get(1).name );
    }

    @Test
    public void testDefinitionListDelimiterExtra() throws Exception {
        String definition = "the_geom=the_geom; cat=cat+1;";
        List<Definition> def = TransformProcess.toDefinition( definition );

        assertEquals( 2, def.size() );
       
        assertEquals( "the_geom", def.get(0).name );
        assertTrue( def.get(0).expression instanceof PropertyName );
        assertEquals( "cat", def.get(1).name );
    }

    @Test
    public void testDefinitionListDelimiterLF() throws Exception {
        String definition = "the_geom=the_geom;\n cat=cat+1;";
        List<Definition> def = TransformProcess.toDefinition( definition );

        assertEquals( 2, def.size() );
       
        assertEquals( "the_geom", def.get(0).name );
        assertTrue( def.get(0).expression instanceof PropertyName );
        assertEquals( "cat", def.get(1).name );
    }

    @Test
    public void testSum() throws Exception {
        SimpleFeatureSource source = bugs.getFeatureSource("bugsites");

       
        TransformProcess process = new TransformProcess();
       
        String definition = "the_geom=the_geom\nnumber=cat";
        SimpleFeatureCollection origional = source.getFeatures();
        SimpleFeatureCollection result = process.execute( origional, definition );
       
        assertEquals( origional.size(), result.size() );
       
        SimpleFeatureType schema = result.getSchema();
        AttributeDescriptor number = schema.getDescriptor("number");
        assertTrue( Long.class.isAssignableFrom( number.getType().getBinding() ) );

    }

}
TOP

Related Classes of org.geotools.process.vector.TransformProcessTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.