mirror of
https://github.com/bjornharrtell/jsts.git
synced 2026-01-18 14:08:37 +00:00
158 lines
4.7 KiB
XML
158 lines
4.7 KiB
XML
<run>
|
|
<description>
|
|
Tests of exact equality and exact equality with normalization
|
|
</description>
|
|
|
|
<case>
|
|
<desc>P - point</desc>
|
|
<a> POINT(10 10) </a>
|
|
<b> POINT(10 10) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>P - point</desc>
|
|
<a> POINT(10 10) </a>
|
|
<b> POINT(10 11) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> false </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>mP - MultiPoint</desc>
|
|
<a> MULTIPOINT((10 10), (20 20)) </a>
|
|
<b> MULTIPOINT((10 10), (20 20)) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>mP - MultiPoint, permuted</desc>
|
|
<a> MULTIPOINT((10 10), (20 20)) </a>
|
|
<b> MULTIPOINT((20 20), (10 10)) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> false </op></test>
|
|
<test><op name="equalsNorm" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>mP - MultiPoint empty</desc>
|
|
<a> MULTIPOINT EMPTY </a>
|
|
<b> MULTIPOINT EMPTY </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<!-- =========================================================== -->
|
|
|
|
<case>
|
|
<desc>L - Line</desc>
|
|
<a> LINESTRING(10 10, 20 20, 30 30) </a>
|
|
<b> LINESTRING(10 10, 20 20, 30 30) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>L - Line, permuted</desc>
|
|
<a> LINESTRING(10 10, 20 20, 30 30) </a>
|
|
<b> LINESTRING(30 30, 20 20, 10 10) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> false </op></test>
|
|
<test><op name="equalsNorm" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>L - closed</desc>
|
|
<a> LINESTRING(10 10, 20 20, 20 10, 10 10) </a>
|
|
<b> LINESTRING(10 10, 20 20, 20 10, 10 10) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>L - empty</desc>
|
|
<a> LINESTRING EMPTY </a>
|
|
<b> LINESTRING EMPTY </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>mL - 2 lines with common endpoint</desc>
|
|
<a> MULTILINESTRING(
|
|
(10 10, 20 20),
|
|
(20 20, 30 30)) </a>
|
|
<b> MULTILINESTRING(
|
|
(10 10, 20 20),
|
|
(20 20, 30 30)) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>mL - 2 lines with common endpoint, permuted</desc>
|
|
<a> MULTILINESTRING(
|
|
(10 10, 20 20),
|
|
(20 20, 30 30)) </a>
|
|
<b> MULTILINESTRING(
|
|
(30 30, 20 20),
|
|
(10 10, 20 20)) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> false </op></test>
|
|
<test><op name="equalsNorm" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<!-- =========================================================== -->
|
|
|
|
<case>
|
|
<desc>A - polygon with no holes</desc>
|
|
<a> POLYGON((40 60, 420 60, 420 320, 40 320, 40 60)) </a>
|
|
<b> POLYGON((40 60, 420 60, 420 320, 40 320, 40 60)) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>A - polygon with no holes, permuted</desc>
|
|
<a> POLYGON((40 60, 420 60, 420 320, 40 320, 40 60)) </a>
|
|
<b> POLYGON((420 60, 420 320, 40 320, 40 60, 420 60)) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> false </op></test>
|
|
<test><op name="equalsNorm" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>A - polygon with 1 hole</desc>
|
|
<a>
|
|
POLYGON(
|
|
(40 60, 420 60, 420 320, 40 320, 40 60),
|
|
(200 140, 160 220, 260 200, 200 140))
|
|
</a>
|
|
<b>
|
|
POLYGON(
|
|
(40 60, 420 60, 420 320, 40 320, 40 60),
|
|
(200 140, 160 220, 260 200, 200 140))
|
|
</b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>A - empty</desc>
|
|
<a> POLYGON EMPTY </a>
|
|
<b> POLYGON EMPTY </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>mA</desc>
|
|
<a> MULTIPOLYGON (((50 100, 100 100, 100 50, 50 50, 50 100)), ((150 100, 200 100, 200 50, 150 50, 150 100))) </a>
|
|
<b> MULTIPOLYGON (((50 100, 100 100, 100 50, 50 50, 50 100)), ((150 100, 200 100, 200 50, 150 50, 150 100))) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>mA - permuted</desc>
|
|
<a> MULTIPOLYGON (((50 100, 100 100, 100 50, 50 50, 50 100)), ((150 100, 200 100, 200 50, 150 50, 150 100))) </a>
|
|
<b> MULTIPOLYGON (((150 100, 200 100, 200 50, 150 50, 150 100)), ((50 100, 100 100, 100 50, 50 50, 50 100))) </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> false </op></test>
|
|
<test><op name="equalsNorm" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>mA - empty</desc>
|
|
<a> MULTIPOLYGON EMPTY </a>
|
|
<b> MULTIPOLYGON EMPTY </b>
|
|
<test><op name="equalsExact" arg1="A" arg2="B"> true </op></test>
|
|
</case>
|
|
|
|
</run>
|