PostGIS  3.7.0dev-r@@SVN_REVISION@@

◆ test_lwgeom_as_curve()

static void test_lwgeom_as_curve ( void  )
static

Definition at line 957 of file cu_gserialized1.c.

958 {
959  LWGEOM *geom;
960  LWGEOM *geom2;
961  char *in_ewkt, *out_ewkt;
962 
963  geom = lwgeom_from_wkt("LINESTRING(0 0, 10 0)", LW_PARSER_CHECK_NONE);
964  geom2 = lwgeom_as_curve(geom);
965  in_ewkt = "COMPOUNDCURVE((0 0,10 0))";
966  out_ewkt = lwgeom_to_ewkt(geom2);
967  if (strcmp(in_ewkt, out_ewkt))
968  fprintf(stderr, "\nExp: %s\nObt: %s\n", in_ewkt, out_ewkt);
969  ASSERT_STRING_EQUAL(in_ewkt, out_ewkt);
970  lwfree(out_ewkt);
971  lwgeom_free(geom);
972  lwgeom_free(geom2);
973 
974  geom = lwgeom_from_wkt("MULTILINESTRING((0 0, 10 0))", LW_PARSER_CHECK_NONE);
975  geom2 = lwgeom_as_curve(geom);
976  in_ewkt = "MULTICURVE((0 0,10 0))";
977  out_ewkt = lwgeom_to_ewkt(geom2);
978  if (strcmp(in_ewkt, out_ewkt))
979  fprintf(stderr, "\nExp: %s\nObt: %s\n", in_ewkt, out_ewkt);
980  ASSERT_STRING_EQUAL(in_ewkt, out_ewkt);
981  lwfree(out_ewkt);
982  lwgeom_free(geom);
983  lwgeom_free(geom2);
984 
985  geom = lwgeom_from_wkt("POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))", LW_PARSER_CHECK_NONE);
986  geom2 = lwgeom_as_curve(geom);
987  in_ewkt = "CURVEPOLYGON((0 0,10 0,10 10,0 10,0 0))";
988  out_ewkt = lwgeom_to_ewkt(geom2);
989  if (strcmp(in_ewkt, out_ewkt))
990  fprintf(stderr, "\nExp: %s\nObt: %s\n", in_ewkt, out_ewkt);
991  ASSERT_STRING_EQUAL(in_ewkt, out_ewkt);
992  lwfree(out_ewkt);
993  lwgeom_free(geom);
994  lwgeom_free(geom2);
995 
996  geom = lwgeom_from_wkt("MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)))", LW_PARSER_CHECK_NONE);
997  geom2 = lwgeom_as_curve(geom);
998  in_ewkt = "MULTISURFACE(((0 0,10 0,10 10,0 10,0 0)))";
999  out_ewkt = lwgeom_to_ewkt(geom2);
1000  if (strcmp(in_ewkt, out_ewkt))
1001  fprintf(stderr, "\nExp: %s\nObt: %s\n", in_ewkt, out_ewkt);
1002  ASSERT_STRING_EQUAL(in_ewkt, out_ewkt);
1003  lwfree(out_ewkt);
1004  lwgeom_free(geom);
1005  lwgeom_free(geom2);
1006 
1007 }
#define ASSERT_STRING_EQUAL(o, e)
void lwgeom_free(LWGEOM *geom)
Definition: lwgeom.c:1246
#define LW_PARSER_CHECK_NONE
Definition: liblwgeom.h:2149
char * lwgeom_to_ewkt(const LWGEOM *lwgeom)
Return an allocated string.
Definition: lwgeom.c:593
void lwfree(void *mem)
Definition: lwutil.c:248
LWGEOM * lwgeom_as_curve(const LWGEOM *lwgeom)
Create a new LWGEOM of the appropriate CURVE* type.
Definition: lwgeom.c:448
LWGEOM * lwgeom_from_wkt(const char *wkt, const char check)
Definition: lwin_wkt.c:940

References ASSERT_STRING_EQUAL, LW_PARSER_CHECK_NONE, lwfree(), lwgeom_as_curve(), lwgeom_free(), lwgeom_from_wkt(), and lwgeom_to_ewkt().

Referenced by gserialized1_suite_setup().

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