public void testGeoserverSupportedFunctionExpression() throws Exception {
Map hints=new HashMap();
InputStream in = TestData.openStream("xml/capabilities/WFSGetCapsGeoserverFunctionExpressions.xml");
WFSCapabilities obj=(WFSCapabilities) DocumentFactory.getInstance(in, hints, Level.WARNING);
FilterCapabilities filterCapabilities = obj.getFilterCapabilities();
boolean supports = filterCapabilities.supports(FilterCapabilities.FUNCTIONS);
assertTrue("supports functions", supports);
assertTrue("supports distance", filterCapabilities.supports(FilterFunction_distance.class));
assertTrue("supports filter", filterCapabilities.supports(FilterFunction_abs.class));
assertTrue("supports geometry", filterCapabilities.supports(FilterFunction_geometryType.class));
assertTrue("supports disjoint", filterCapabilities.supports(FilterCapabilities.SPATIAL_DISJOINT));
assertTrue("supports equals", filterCapabilities.supports(FilterCapabilities.SPATIAL_EQUALS));
assertTrue("supports dwithin", filterCapabilities.supports(FilterCapabilities.SPATIAL_DWITHIN));
assertTrue(filterCapabilities.supports(FilterCapabilities.SPATIAL_BEYOND));
assertTrue(filterCapabilities.supports(FilterCapabilities.SPATIAL_INTERSECT));
assertTrue(filterCapabilities.supports(FilterCapabilities.SPATIAL_TOUCHES));
assertTrue(filterCapabilities.supports(FilterCapabilities.SPATIAL_CROSSES));
assertTrue(filterCapabilities.supports(FilterCapabilities.SPATIAL_WITHIN));
assertTrue(filterCapabilities.supports(FilterCapabilities.SPATIAL_CONTAINS));
assertTrue(filterCapabilities.supports(FilterCapabilities.SPATIAL_OVERLAPS));
assertTrue(filterCapabilities.supports(FilterCapabilities.SPATIAL_BBOX));
assertTrue(filterCapabilities.supports(FilterCapabilities.LOGICAL));
assertTrue(filterCapabilities.supports(FilterCapabilities.SIMPLE_ARITHMETIC));
assertTrue(filterCapabilities.supports(FilterCapabilities.SIMPLE_COMPARISONS));
assertTrue(filterCapabilities.supports(FilterCapabilities.BETWEEN));
assertTrue(filterCapabilities.supports(FilterCapabilities.NULL_CHECK));
assertTrue(filterCapabilities.supports(FilterCapabilities.LIKE));
}