94{
95 LWGEOM *geom, *blade, *ret, *tmp1, *tmp2;
96 char *wkt, *in_wkt;
97
99 CU_ASSERT(geom != NULL);
101 CU_ASSERT(blade != NULL);
103 CU_ASSERT(ret != NULL);
105 in_wkt = "GEOMETRYCOLLECTION(LINESTRING(-5 -2,0 0),LINESTRING(0 0,10 10))";
111
112
114 CU_ASSERT(geom != NULL);
117 CU_ASSERT(ret != NULL);
119 in_wkt = "GEOMETRYCOLLECTION(LINESTRING(0 0,10 0),LINESTRING(10 0,20 4,0 3))";
125
126
128 CU_ASSERT(geom != NULL);
131 CU_ASSERT(ret != NULL);
133 in_wkt = "SRID=1;GEOMETRYCOLLECTION(LINESTRING(0 1,7 1),LINESTRING(7 1,10 1))";
139
140
142 CU_ASSERT(geom != NULL);
147 CU_ASSERT(ret != NULL);
150 "SRID=1;GEOMETRYCOLLECTION(POLYGON((7 1,0 1,0 10,7 10,7 1)),POLYGON((7 10,10 10,10 1,7 1,7 10)))",
162
163
165 CU_ASSERT_FATAL(geom != NULL);
168 if (!ret)
170 CU_ASSERT_FATAL(ret != NULL);
172 CU_ASSERT_FATAL(wkt != NULL);
173 in_wkt = "GEOMETRYCOLLECTION(LINESTRING(0 0,1 0),LINESTRING(1 0,2 0),LINESTRING(2 0,3 0),LINESTRING(3 0,10 0))";
179
180
182 CU_ASSERT_FATAL(geom != NULL);
185 if (!ret)
187 CU_ASSERT_FATAL(ret != NULL);
189 CU_ASSERT_FATAL(wkt != NULL);
190 in_wkt = "GEOMETRYCOLLECTION(LINESTRING(0 0,1 0),LINESTRING(1 0,2 0),LINESTRING(2 0,3 0),LINESTRING(3 0,10 0))";
196
197
199 CU_ASSERT_FATAL(geom != NULL);
202 if (!ret)
204 CU_ASSERT_FATAL(ret != NULL);
206 CU_ASSERT_FATAL(wkt != NULL);
207 in_wkt = "GEOMETRYCOLLECTION(LINESTRING(0 0,10 0))";
213
214
216 CU_ASSERT_FATAL(geom != NULL);
217 blade =
lwgeom_from_wkt(
"MULTIPOLYGON(((1 -1,1 1,2 1,2 -1,1 -1)),((3 -1,3 1,11 1,11 -1,3 -1)))",
220 if (!ret)
222 CU_ASSERT_FATAL(ret != NULL);
224 CU_ASSERT_FATAL(wkt != NULL);
225 in_wkt = "GEOMETRYCOLLECTION(LINESTRING(0 0,1 0),LINESTRING(1 0,2 0),LINESTRING(2 0,3 0),LINESTRING(3 0,10 0))";
231
232
234 CU_ASSERT_FATAL(geom != NULL);
237 if (!ret)
239 CU_ASSERT_FATAL(ret != NULL);
241 CU_ASSERT_FATAL(wkt != NULL);
242 in_wkt = "GEOMETRYCOLLECTION(LINESTRING(8 0,10 0),LINESTRING(0 0,2 0),LINESTRING(4 0,8 0),LINESTRING(2 0,4 0))";
248
249
251 CU_ASSERT(geom != NULL);
254 CU_ASSERT(ret != NULL);
255 {
259 CU_ASSERT(split != NULL);
261 CU_ASSERT(l1 != NULL);
266 CU_ASSERT(l2 != NULL);
270 }
274
275
276 geom =
lwgeom_from_wkt(
"LINESTRING(15.796760167740288 69.05714853429149,15.796760167739626 69.05714853429157,15.795906966300288 69.05725770093837)",
LW_PARSER_CHECK_NONE);
277 CU_ASSERT_FATAL(geom != NULL);
279 CU_ASSERT(blade != NULL);
281 CU_ASSERT_FATAL(ret != NULL);
286}
char cu_error_msg[MAX_CUNIT_ERROR_LENGTH+1]
#define ASSERT_DOUBLE_EQUAL(o, e)
#define ASSERT_INT_EQUAL(o, e)
#define ASSERT_STRING_EQUAL(o, e)
LWGEOM * lwpoint_as_lwgeom(const LWPOINT *obj)
LWGEOM * lwgeom_split(const LWGEOM *lwgeom_in, const LWGEOM *blade_in)
void lwgeom_free(LWGEOM *geom)
#define LW_PARSER_CHECK_NONE
LWPOINT * lwline_get_lwpoint(const LWLINE *line, uint32_t where)
Returns freshly allocated LWPOINT that corresponds to the index where.
LWCOLLECTION * lwgeom_as_lwcollection(const LWGEOM *lwgeom)
int getPoint2d_p(const POINTARRAY *pa, uint32_t n, POINT2D *point)
LWGEOM * lwgeom_normalize(const LWGEOM *geom)
char * lwgeom_to_ewkt(const LWGEOM *lwgeom)
Return an allocated string.
LWLINE * lwgeom_as_lwline(const LWGEOM *lwgeom)
LWGEOM * lwgeom_from_wkt(const char *wkt, const char check)