PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ test_ptarray_scroll()

static void test_ptarray_scroll ( )
static

Definition at line 619 of file cu_ptarray.c.

620{
621 LWLINE *line;
622 POINTARRAY *pa;
623 POINT4D scroll;
624 const char *wkt;
625 char *wktout;
626 int rv;
627
628 wkt = "LINESTRING ZM (1 1 1 1,2 2 2 2,3 3 3 3,4 4 4 4,1 1 1 1)";
630 pa = line->points;
631
632 scroll.x = scroll.y = scroll.z = scroll.m = 2;
633 rv = ptarray_scroll_in_place(pa, &scroll);
634 CU_ASSERT_EQUAL(rv, LW_SUCCESS);
635 wktout = lwgeom_to_text(lwline_as_lwgeom(line));
636 wkt = "LINESTRING ZM (2 2 2 2,3 3 3 3,4 4 4 4,1 1 1 1,2 2 2 2)";
637 ASSERT_STRING_EQUAL(wktout, wkt);
638 lwfree(wktout);
639
640 scroll.x = scroll.y = scroll.z = scroll.m = 1;
641 rv = ptarray_scroll_in_place(pa, &scroll);
642 CU_ASSERT_EQUAL(rv, LW_SUCCESS);
643 wktout = lwgeom_to_text(lwline_as_lwgeom(line));
644 wkt = "LINESTRING ZM (1 1 1 1,2 2 2 2,3 3 3 3,4 4 4 4,1 1 1 1)";
645 ASSERT_STRING_EQUAL(wktout, wkt);
646 lwfree(wktout);
647
648 scroll.x = scroll.y = scroll.z = scroll.m = 9;
649 rv = ptarray_scroll_in_place(pa, &scroll);
650 CU_ASSERT_EQUAL(rv, LW_FAILURE);
651 ASSERT_STRING_EQUAL(cu_error_msg, "ptarray_scroll_in_place: input POINTARRAY does not contain the given point");
652
653 lwline_free(line);
654}
static char * lwgeom_to_text(const LWGEOM *geom)
Definition cu_ptarray.c:32
static LWGEOM * lwgeom_from_text(const char *str)
Definition cu_ptarray.c:24
char cu_error_msg[MAX_CUNIT_ERROR_LENGTH+1]
#define ASSERT_STRING_EQUAL(o, e)
#define LW_FAILURE
Definition liblwgeom.h:96
#define LW_SUCCESS
Definition liblwgeom.h:97
void lwfree(void *mem)
Definition lwutil.c:248
LWGEOM * lwline_as_lwgeom(const LWLINE *obj)
Definition lwgeom.c:367
LWLINE * lwgeom_as_lwline(const LWGEOM *lwgeom)
Definition lwgeom.c:207
void lwline_free(LWLINE *line)
Definition lwline.c:67
int ptarray_scroll_in_place(POINTARRAY *pa, const POINT4D *newbase)
Definition ptarray.c:2337
POINTARRAY * points
Definition liblwgeom.h:483
double m
Definition liblwgeom.h:414
double x
Definition liblwgeom.h:414
double z
Definition liblwgeom.h:414
double y
Definition liblwgeom.h:414

References ASSERT_STRING_EQUAL, cu_error_msg, LW_FAILURE, LW_SUCCESS, lwfree(), lwgeom_as_lwline(), lwgeom_from_text(), lwgeom_to_text(), lwline_as_lwgeom(), lwline_free(), POINT4D::m, LWLINE::points, ptarray_scroll_in_place(), POINT4D::x, POINT4D::y, and POINT4D::z.

Referenced by ptarray_suite_setup().

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