PostGIS  3.0.6dev-r@@SVN_REVISION@@

◆ test_lwcollection_extract()

static void test_lwcollection_extract ( void  )
static

Definition at line 430 of file cu_gserialized1.c.

431 {
432 
433  LWGEOM *geom;
434  LWCOLLECTION *col;
435 
436  geom = lwgeom_from_wkt("GEOMETRYCOLLECTION(POINT(0 0))", LW_PARSER_CHECK_NONE);
437 
438  col = lwcollection_extract((LWCOLLECTION*)geom, 1);
439  CU_ASSERT_EQUAL(col->type, MULTIPOINTTYPE);
440  lwcollection_free(col);
441 
442  col = lwcollection_extract((LWCOLLECTION*)geom, 2);
443  CU_ASSERT_EQUAL(col->type, MULTILINETYPE);
444  lwcollection_free(col);
445 
446  col = lwcollection_extract((LWCOLLECTION*)geom, 3);
447  CU_ASSERT_EQUAL(col->type, MULTIPOLYGONTYPE);
448  lwcollection_free(col);
449 
450  lwgeom_free(geom);
451 
452  geom = lwgeom_from_wkt("GEOMETRYCOLLECTION EMPTY", LW_PARSER_CHECK_NONE);
453 
454  col = lwcollection_extract((LWCOLLECTION*)geom, 1);
455  CU_ASSERT_EQUAL(col->type, MULTIPOINTTYPE);
456  lwcollection_free(col);
457 
458  col = lwcollection_extract((LWCOLLECTION*)geom, 2);
459  CU_ASSERT_EQUAL(col->type, MULTILINETYPE);
460  lwcollection_free(col);
461 
462  col = lwcollection_extract((LWCOLLECTION*)geom, 3);
463  CU_ASSERT_EQUAL(col->type, MULTIPOLYGONTYPE);
464  lwcollection_free(col);
465 
466  lwgeom_free(geom);
467 }
void lwgeom_free(LWGEOM *geom)
Definition: lwgeom.c:1138
#define LW_PARSER_CHECK_NONE
Definition: liblwgeom.h:2060
#define MULTILINETYPE
Definition: liblwgeom.h:120
#define MULTIPOINTTYPE
Definition: liblwgeom.h:119
#define MULTIPOLYGONTYPE
Definition: liblwgeom.h:121
void lwcollection_free(LWCOLLECTION *col)
Definition: lwcollection.c:357
LWGEOM * lwgeom_from_wkt(const char *wkt, const char check)
Definition: lwin_wkt.c:905
LWCOLLECTION * lwcollection_extract(LWCOLLECTION *col, int type)
Takes a potentially heterogeneous collection and returns a homogeneous collection consisting only of ...
Definition: lwcollection.c:387
uint8_t type
Definition: liblwgeom.h:564

References LW_PARSER_CHECK_NONE, lwcollection_extract(), lwcollection_free(), lwgeom_free(), lwgeom_from_wkt(), MULTILINETYPE, MULTIPOINTTYPE, MULTIPOLYGONTYPE, and LWCOLLECTION::type.

Referenced by gserialized1_suite_setup().

Here is the call graph for this function:
Here is the caller graph for this function: