This is an automated email from the ASF dual-hosted git repository.
jsorel pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
The following commit(s) were added to refs/heads/geoapi-4.0 by this push:
new ecb8f7f Portrayal : add SEPortrayer symbolizer geometry expression
test case
ecb8f7f is described below
commit ecb8f7f90282ba147518c48221a39993bc01f095
Author: jsorel <[email protected]>
AuthorDate: Fri Mar 5 09:40:07 2021 +0100
Portrayal : add SEPortrayer symbolizer geometry expression test case
---
.../apache/sis/internal/map/SEPortrayerTest.java | 36 ++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git
a/core/sis-portrayal/src/test/java/org/apache/sis/internal/map/SEPortrayerTest.java
b/core/sis-portrayal/src/test/java/org/apache/sis/internal/map/SEPortrayerTest.java
index 9687ef2..0a38bd2 100644
---
a/core/sis-portrayal/src/test/java/org/apache/sis/internal/map/SEPortrayerTest.java
+++
b/core/sis-portrayal/src/test/java/org/apache/sis/internal/map/SEPortrayerTest.java
@@ -704,6 +704,42 @@ public class SEPortrayerTest extends TestCase {
assertNotNull(type.getProperty("description"));
}
+ /**
+ * Test a geometry expression do not affect portraying bbox filtering.
+ */
+ @Test
+ public void testGeometryExpression() {
+
+ final MockLineSymbolizer symbolizer = new MockLineSymbolizer();
+ symbolizer.geometry = filterFactory.function("ST_Centroid",
filterFactory.property("geom"));
+
+ final MockRule rule = new MockRule();
+ rule.symbolizers().add(symbolizer);
+
+ final MockStyle style = new MockStyle();
+ final MockFeatureTypeStyle fts = new MockFeatureTypeStyle();
+ style.featureTypeStyles().add(fts);
+ fts.rules().add(rule);
+
+ final GeneralEnvelope env = new
GeneralEnvelope(CommonCRS.WGS84.normalizedGeographic());
+ env.setRange(0, 9, 11);
+ env.setRange(1, 19, 21);
+
+ final MapLayer fishLayer = new MapLayer();
+ fishLayer.setData(fishes);
+ fishLayer.setStyle(style);
+ final MapLayer boatLayer = new MapLayer();
+ boatLayer.setData(boats);
+ boatLayer.setStyle(style);
+ final MapLayers layers = new MapLayers();
+ layers.getComponents().add(fishLayer);
+ layers.getComponents().add(boatLayer);
+
+ final Set<Match> presentations = present(layers, env);
+ assertEquals(1, presentations.size());
+ assertTrue(presentations.contains(new Match("2", fishLayer, fishes,
symbolizer)));
+ }
+
private static class Match {
private final String identifier;
private final MapLayer layer;