/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2003-2008, 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.
*
* Created on August 16, 2003, 5:10 PM
*/
package org.geotools.data;
import java.util.Arrays;
import java.util.List;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.opengis.filter.Filter;
/**
*
* @author jamesm
* @source $URL$
*/
public class DefaultQueryTest extends TestCase {
public DefaultQueryTest(java.lang.String testName) {
super(testName);
}
public static Test suite() {
TestSuite suite = new TestSuite(DefaultQueryTest.class);
return suite;
}
public void testFullConstructor(){
DefaultQuery query = new DefaultQuery("mytype", Filter.INCLUDE, 10, new String[] {"foo"}, "myquery");
assertNotNull(query);
}
/** Test of getPropertyNames method, of class org.geotools.data.DefaultQuery. */
public void testPropertyNames() {
System.out.println("testPropertyNames");
DefaultQuery query = new DefaultQuery();
assertNull(query.getPropertyNames());
query.setPropertyNames(new String[]{"foo","bar"});
String names[] = query.getPropertyNames();
assertNotNull(names);
assertEquals("foo",names[0]);
List list = Arrays.asList(names);
query.setPropertyNames(list);
names = query.getPropertyNames();
assertEquals("bar",names[1]);
query.setPropertyNames((List)null);
assertNull(query.getPropertyNames());
query = new DefaultQuery( "Test", Filter.INCLUDE, new String[]{"foo", "wibble"});
assertNotNull(query.getPropertyNames());
}
/** Test of retrieveAllProperties method, of class org.geotools.data.DefaultQuery. */
public void testRetrieveAllProperties() {
System.out.println("testRetrieveAllProperties");
DefaultQuery query = new DefaultQuery();
assertTrue(query.retrieveAllProperties());
query.setPropertyNames(new String[]{"foo","bar"});
assertFalse(query.retrieveAllProperties());
query.setPropertyNames((String[])null);
assertTrue(query.retrieveAllProperties());
query.setPropertyNames(new String[]{"foo","bar"});
query.setPropertyNames((List)null);
assertTrue(query.retrieveAllProperties());
}
/** Test of getMaxFeatures method, of class org.geotools.data.DefaultQuery. */
public void testMaxFeatures() {
System.out.println("testMaxFeatures");
DefaultQuery query = new DefaultQuery();
assertEquals(Query.DEFAULT_MAX, query.getMaxFeatures());
query.setMaxFeatures(5);
assertEquals(5,query.getMaxFeatures());
}
/** Test of getFilter method, of class org.geotools.data.DefaultQuery. */
public void testFilter() {
System.out.println("testGetFilter");
DefaultQuery query = new DefaultQuery();
query.setFilter(Filter.EXCLUDE);
assertEquals(Filter.EXCLUDE, query.getFilter());
query = new DefaultQuery( "test", Filter.INCLUDE);
assertEquals(Filter.INCLUDE, query.getFilter());
}
/** Test of getTypeName method, of class org.geotools.data.DefaultQuery. */
public void testTypeName() {
DefaultQuery query = new DefaultQuery();
assertNull(query.getTypeName());
query.setTypeName("foobar");
assertEquals("foobar", query.getTypeName());
query = new DefaultQuery("mytype", Filter.EXCLUDE);
assertEquals("mytype", query.getTypeName());
}
/** Test of getHandle method, of class org.geotools.data.DefaultQuery. */
public void testHandle() {
System.out.println("testGetHandle");
DefaultQuery query = new DefaultQuery();
assertNull(query.getHandle());
query.setHandle("myquery");
assertEquals("myquery", query.getHandle());
}
/** Test of getVersion method, of class org.geotools.data.DefaultQuery. */
public void testVersion() {
System.out.println("testGetVersion");
DefaultQuery query = new DefaultQuery();
assertNull( query.getVersion() );
}
/** Test of toString method, of class org.geotools.data.DefaultQuery. */
public void testToString() {
System.out.println("testToString");
DefaultQuery query = new DefaultQuery();
assertNotNull(query.toString());
query.setHandle("myquery");
assertNotNull(query.toString());
query.setFilter(Filter.EXCLUDE);
assertNotNull(query.toString());
query.setPropertyNames(new String[]{"foo", "bar"});
assertNotNull(query.toString());
}
}