15 #include "CUnit/Basic.h" 29 fprintf(stderr,
"\nIn: %s\nOut: %s\nExp: %s\n",
31 CU_ASSERT_STRING_EQUAL(tmp, out);
44 fprintf(stderr,
"\nIn: %s\nOut: %s\nExp: %s\n",
46 CU_ASSERT_EQUAL(h->
type, type);
57 do_type_test(
"COMPOUNDCURVE(CIRCULARSTRING(-1 0,0 1,0 -1),(0 -1,-1 -1))",
60 do_type_test(
"COMPOUNDCURVE((-3 -3,-1 0),CIRCULARSTRING(-1 0,0 1,0 -1),(0 -1,0 -1.5,0 -2),CIRCULARSTRING(0 -2,-1 -3,1 -3),(1 -3,5 5))",
63 do_type_test(
"COMPOUNDCURVE(CIRCULARSTRING(-1 0,0 1,0 -1),CIRCULARSTRING(0 -1,-1 -2,1 -2))",
66 do_type_test(
"CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING (0 0 2,1 1 2,1 0 2),(1 0 2,0 1 2),(0 1 2, 0 0 2)))",
69 do_type_test(
"CURVEPOLYGON (COMPOUNDCURVE (CIRCULARSTRING (0 0 2 5,1 1 2 6,1 0 2 5), (1 0 2 3,0 1 2 2), (0 1 2 2,30 1 2 2), CIRCULARSTRING (30 1 2 2,12 1 2 6,1 10 2 5, 1 10 3 5, 0 0 2 5)))",
72 do_type_test(
"MULTISURFACE (CURVEPOLYGON (CIRCULARSTRING (-2 0, -1 -1, 0 0, 1 -1, 2 0, 0 2, -2 0), (-1 0, 0 0.5, 1 0, 0 1, -1 0)), ((7 8, 10 10, 6 14, 4 11, 7 8)))",
80 "POLYGON((1 2,3 4,5 6,1 2))");
82 do_geom_test(
"GEOMETRYCOLLECTION(TRIANGLE((1 2,3 4,5 6,1 2)))",
83 "GEOMETRYCOLLECTION(POLYGON((1 2,3 4,5 6,1 2)))");
85 do_geom_test(
"GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(TRIANGLE((1 2,3 4,5 6,1 2))))",
86 "GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POLYGON((1 2,3 4,5 6,1 2))))");
89 do_geom_test(
"TIN(((1 2,3 4,5 6,1 2)),((7 8,9 10,11 12,7 8)))",
90 "GEOMETRYCOLLECTION(POLYGON((1 2,3 4,5 6,1 2)),POLYGON((7 8,9 10,11 12,7 8)))");
92 do_geom_test(
"GEOMETRYCOLLECTION(TIN(((1 2,3 4,5 6,1 2)),((7 8,9 10,11 12,7 8))))",
93 "GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POLYGON((1 2,3 4,5 6,1 2)),POLYGON((7 8,9 10,11 12,7 8))))");
95 do_geom_test(
"GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(TIN(((1 2,3 4,5 6,1 2)),((7 8,9 10,11 12,7 8)))))",
96 "GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POLYGON((1 2,3 4,5 6,1 2)),POLYGON((7 8,9 10,11 12,7 8)))))");
99 do_geom_test(
"POLYHEDRALSURFACE(((1 2,3 4,5 6,1 2)),((7 8,9 10,11 12,7 8)))",
100 "GEOMETRYCOLLECTION(POLYGON((1 2,3 4,5 6,1 2)),POLYGON((7 8,9 10,11 12,7 8)))");
102 do_geom_test(
"GEOMETRYCOLLECTION(POLYHEDRALSURFACE(((1 2,3 4,5 6,1 2)),((7 8,9 10,11 12,7 8))))",
103 "GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POLYGON((1 2,3 4,5 6,1 2)),POLYGON((7 8,9 10,11 12,7 8))))");
105 do_geom_test(
"GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POLYGON((1 2,3 4,5 6,1 2)),POLYGON((7 8,9 10,11 12,7 8)))))",
106 "GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POLYGON((1 2,3 4,5 6,1 2)),POLYGON((7 8,9 10,11 12,7 8)))))");
116 "LINESTRING(1 2,3 4)");
119 "POLYGON((1 2,3 4,5 6,1 2))");
121 do_geom_test(
"POLYGON((1 2,3 4,5 6,1 2),(7 8,9 10,11 12,7 8))",
122 "POLYGON((1 2,3 4,5 6,1 2),(7 8,9 10,11 12,7 8))");
125 "MULTIPOINT(1 2,3 4)");
128 "MULTILINESTRING((1 2,3 4),(5 6,7 8))");
130 do_geom_test(
"MULTIPOLYGON(((1 2,3 4,5 6,1 2)),((7 8,9 10,11 12,7 8)))",
131 "MULTIPOLYGON(((1 2,3 4,5 6,1 2)),((7 8,9 10,11 12,7 8)))");
133 do_geom_test(
"MULTIPOLYGON(((1 2,3 4,5 6,1 2),(7 8,9 10,11 12,7 8)),((13 14,15 16,17 18,13 14)))",
134 "MULTIPOLYGON(((1 2,3 4,5 6,1 2),(7 8,9 10,11 12,7 8)),((13 14,15 16,17 18,13 14)))");
136 do_geom_test(
"GEOMETRYCOLLECTION(POINT(1 2),LINESTRING(3 4,5 6))",
137 "GEOMETRYCOLLECTION(POINT(1 2),LINESTRING(3 4,5 6))");
140 "GEOMETRYCOLLECTION EMPTY");
144 "SRID=4326;GEOMETRYCOLLECTION EMPTY");
147 "SRID=4326;POINT(1 2)");
169 CU_pSuite suite = CU_add_suite(
"force_sfs", NULL, NULL);
char * lwgeom_to_ewkt(const LWGEOM *lwgeom)
Return an alloced string.
void lwgeom_free(LWGEOM *geom)
LWGEOM * lwgeom_from_wkt(const char *wkt, const char check)
LWGEOM * lwgeom_force_sfs(LWGEOM *geom, int version)
#define LW_PARSER_CHECK_NONE
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
static void test_sfs_11(void)
#define PG_ADD_TEST(suite, testfunc)
static void test_sqlmm(void)
static void do_type_test(char *in, int type)
static void test_sfs_12(void)
void force_sfs_suite_setup(void)
static void do_geom_test(char *in, char *out)