From 6a9af07059671bdc6e62542c9739137ab53fd4d8 Mon Sep 17 00:00:00 2001 From: Martin Davis Date: Fri, 11 Oct 2024 13:04:16 -0700 Subject: [PATCH] Add XML tests for Relate for empty --- .../testxml/misc/TestRelateEmpty.xml | 1114 +++++++++++++++++ 1 file changed, 1114 insertions(+) create mode 100644 modules/tests/src/test/resources/testxml/misc/TestRelateEmpty.xml diff --git a/modules/tests/src/test/resources/testxml/misc/TestRelateEmpty.xml b/modules/tests/src/test/resources/testxml/misc/TestRelateEmpty.xml new file mode 100644 index 0000000000..6ed6128208 --- /dev/null +++ b/modules/tests/src/test/resources/testxml/misc/TestRelateEmpty.xml @@ -0,0 +1,1114 @@ + + + Test relate predicates against cases containing EMPTY geometries. + + + + + P/P - empty point VS empty point + + POINT EMPTY + + + POINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + P/L - empty point VS empty line + + POINT EMPTY + + + LINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + P/A - empty point VS empty polygon + + POINT EMPTY + + + POLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + P/mP - empty Point VS empty MultiPoint + + POINT EMPTY + + + MULTIPOINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + P/mL - empty Point VS empty MultiLineString + + POINT EMPTY + + + MULTILINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + P/mA - empty Point VS empty MultiPolygon + + POINT EMPTY + + + MULTIPOLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + P/GC - empty Point VS empty GC + + POINT EMPTY + + + GEOMETRYCOLLECTION EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + + L/P - empty line VS empty point + + LINESTRING EMPTY + + + POINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + L/L - empty line VS empty line + + LINESTRING EMPTY + + + LINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + L/A - empty line VS empty polygon + + LINESTRING EMPTY + + + POLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + L/mP - empty line VS empty MultiPoint + + LINESTRING EMPTY + + + MULTIPOINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + L/mL - empty line VS empty MultiLineString + + LINESTRING EMPTY + + + MULTILINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + L/mA - empty line VS empty MultiPolygon + + LINESTRING EMPTY + + + MULTIPOLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + L/GC - empty line VS empty GC + + LINESTRING EMPTY + + + GEOMETRYCOLLECTION EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + + + A/P - empty polygon VS empty line + + POLYGON EMPTY + + + POINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + A/L - empty polygon VS empty line + + POLYGON EMPTY + + + LINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + A/A - empty polygon VS empty polygon + + POLYGON EMPTY + + + POLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + A/mP - empty polygon VS empty MultiPoint + + POLYGON EMPTY + + + MULTIPOINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + A/mP - empty polygon VS empty MultiLineString + + POLYGON EMPTY + + + MULTILINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + A/mP - empty polygon VS empty MultiPolygon + + POLYGON EMPTY + + + MULTIPOLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + A/mP - empty polygon VS empty GC + + POLYGON EMPTY + + + GEOMETRYCOLLECTION EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + + mP/P - empty MultiPoint VS empty point + + MULTIPOINT EMPTY + + + POINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mP/L - empty MultiPoint VS empty line + + MULTIPOINT EMPTY + + + LINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mP/A - empty MultiPoint VS empty polygon + + MULTIPOINT EMPTY + + + POLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mP/mP - empty MultiPoint VS empty MultiPoint + + MULTIPOINT EMPTY + + + MULTIPOINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mP/mL - empty MultiPoint VS empty MultiLineString + + MULTIPOINT EMPTY + + + MULTILINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mP/mA - empty MultiPoint VS empty MultiPolygon + + MULTIPOINT EMPTY + + + MULTIPOLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mP/GC - empty MultiPoint VS empty GC + + MULTIPOINT EMPTY + + + GEOMETRYCOLLECTION EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + + mL/P - empty Multiline VS empty point + + MULTILINESTRING EMPTY + + + POINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mL/L - empty Multiline VS empty line + + MULTILINESTRING EMPTY + + + LINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mL/A - empty Multiline VS empty polygon + + MULTILINESTRING EMPTY + + + POLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mL/mP - empty Multiline VS empty MultiPoint + + MULTILINESTRING EMPTY + + + MULTIPOINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mL/mL - empty Multiline VS empty MultiLineString + + MULTILINESTRING EMPTY + + + MULTILINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mL/mA - empty Multiline VS empty MultiPolygon + + MULTILINESTRING EMPTY + + + MULTIPOLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mL/GC - empty Multiline VS empty GC + + MULTILINESTRING EMPTY + + + GEOMETRYCOLLECTION EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + + + mA/P - empty Multipolygon VS empty line + + MULTIPOLYGON EMPTY + + + POINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mA/L - empty Multipolygon VS empty line + + MULTIPOLYGON EMPTY + + + LINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mA/A - empty Multipolygon VS empty polygon + + MULTIPOLYGON EMPTY + + + POLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mA/mP - empty Multipolygon VS empty MultiPoint + + MULTIPOLYGON EMPTY + + + MULTIPOINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mA/mL - empty Multipolygon VS empty MultiLineString + + MULTIPOLYGON EMPTY + + + MULTILINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mA/mA - empty Multipolygon VS empty MultiPolygon + + MULTIPOLYGON EMPTY + + + MULTIPOLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + mA/GC - empty Multipolygon VS empty GC + + MULTIPOLYGON EMPTY + + + GEOMETRYCOLLECTION EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + + + GC/P - empty GC VS empty line + + GEOMETRYCOLLECTION EMPTY + + + POINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + GC/L - empty GC VS empty line + + GEOMETRYCOLLECTION EMPTY + + + LINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + GC/A - empty GC VS empty polygon + + GEOMETRYCOLLECTION EMPTY + + + POLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + GC/mP - empty GC VS empty MultiPoint + + GEOMETRYCOLLECTION EMPTY + + + MULTIPOINT EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + GC/mL - empty GC VS empty MultiLineString + + GEOMETRYCOLLECTION EMPTY + + + MULTILINESTRING EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + GC/mA - empty GC VS empty MultiPolygon + + GEOMETRYCOLLECTION EMPTY + + + MULTIPOLYGON EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + GC/GC - empty GC VS empty GC + + GEOMETRYCOLLECTION EMPTY + + + GEOMETRYCOLLECTION EMPTY + + true + false + false + false + false + true + true + false + false + false + false + + + + + + P/P - empty Point VS Point + + POINT EMPTY + + + POINT (1 1) + + true + false + false + false + false + true + false + false + false + false + false + + + + + P/L - empty Point VS LineString + + POINT EMPTY + + + LINESTRING (1 1, 2 2) + + true + false + false + false + false + true + false + false + false + false + false + + + + P/L - empty Point VS Polygon + + POINT EMPTY + + + POLYGON ((1 1, 1 2, 2 1, 1 1)) + + true + false + false + false + false + true + false + false + false + false + false + + + + + +