@Test
public void testGetFilterCapabilities() throws IOException {

    createTestProtocol(GEOS_ARCHSITES.CAPABILITIES);
    FilterCapabilities filterCapabilities = wfs.getFilterCapabilities();
    assertNotNull(filterCapabilities);
    SpatialCapabilities spatialCapabilities = filterCapabilities.getSpatialCapabilities();
    Collection<GeometryOperand> geometryOperands = spatialCapabilities.getGeometryOperands();
    assertEquals(4, geometryOperands.size());
    assertTrue(geometryOperands.contains(GeometryOperand.Envelope));
    assertTrue(geometryOperands.contains(GeometryOperand.Point));
    assertTrue(geometryOperands.contains(GeometryOperand.LineString));
    assertTrue(geometryOperands.contains(GeometryOperand.Polygon));
    SpatialOperators spatialOperators = spatialCapabilities.getSpatialOperators();
    Collection<SpatialOperator> operators = spatialOperators.getOperators();
    assertEquals(9, operators.size());
    assertNotNull(spatialOperators.getOperator("Disjoint"));
    assertNotNull(spatialOperators.getOperator("Equals"));
    assertNotNull(spatialOperators.getOperator("DWithin"));
    assertNotNull(spatialOperators.getOperator("Beyond"));
    assertNotNull(spatialOperators.getOperator("Intersects"));
    assertNotNull(spatialOperators.getOperator("Touches"));
    assertNotNull(spatialOperators.getOperator("Crosses"));
    assertNotNull(spatialOperators.getOperator("Contains"));
    assertNotNull(spatialOperators.getOperator("BBOX"));
    // intentionally removed from the test caps doc
    assertNull(spatialOperators.getOperator("Overlaps"));
}