/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2002-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. */ package org.geotools.filter.v1_0.capabilities; import java.io.ByteArrayInputStream; import org.w3c.dom.Document; import org.opengis.filter.capability.FilterCapabilities; import org.geotools.xml.Binding; import org.geotools.xml.Parser; /** * * * @source $URL$ */ public class _Filter_CapabilitiesTypeBindingTest extends FilterCapabilitiesTestSupport { public void testType() { assertEquals(FilterCapabilities.class, binding(OGC._Filter_Capabilities).getType()); } public void testExectionMode() { assertEquals(Binding.OVERRIDE, binding(OGC._Filter_Capabilities).getExecutionMode()); } public void testParse() throws Exception { FilterMockData.capabilities(document, document); // print(document); FilterCapabilities caps = (FilterCapabilities) parse(); assertEquals(FilterCapabilities.VERSION_100, caps.getVersion()); assertNotNull(caps.getScalarCapabilities()); assertNotNull(caps.getSpatialCapabilities()); } public void testParseWithParser() throws Exception { String xml= "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" + "<Filter_Capabilities version=\"1.0.0\" xmlns=\"http://www.opengis.net/ogc\">" + "<Scalar_Capabilities>" + "<Logical_Operators/>" + "<Comparison_Operators>" + "<Simple_Comparisons/>" + "<Like/>" + "<Between/>" + "<NullCheck/>" + "</Comparison_Operators>" + "<Arithmetic_Operators>" + "<Simple_Arithmetic/>" + "<Functions>" + "<Function_Names>" + "<Function_Name nArgs=\"2\">foo</Function_Name>" + "<Function_Name nArgs=\"3\">bar</Function_Name>" + "</Function_Names>" + "</Functions>" + "</Arithmetic_Operators>" + "</Scalar_Capabilities>" + "<Spatial_Capabilities>" + "<Spatial_Operators>" + "<BBOX/>" + "<Equals/>" + "<Disjoint/>" + "<Intersect/>" + "<Touches/>" + "<Contains/>" + "<Crosses/>" + "<Within/>" + "<Overlaps/>" + "<Beyond/>" + "<DWithin/>" + "</Spatial_Operators>" + "</Spatial_Capabilities>" + "</Filter_Capabilities>"; Parser parser = new Parser(createConfiguration()); FilterCapabilities caps = (FilterCapabilities) parser.parse(new ByteArrayInputStream(xml.getBytes())); assertEquals(FilterCapabilities.VERSION_100, caps.getVersion()); assertNotNull(caps.getScalarCapabilities()); assertNotNull(caps.getSpatialCapabilities()); } public void testEncode() throws Exception { Document dom = encode(FilterMockData.capabilities(), OGC.Filter_Capabilities); assertNotNull(dom.getElementsByTagNameNS(OGC.NAMESPACE, "Spatial_Capabilities")); assertNotNull(dom.getElementsByTagNameNS(OGC.NAMESPACE, "Scalar_Capabilities")); } }