static void test_lwgeom_force_clockwise(void)
{
LWGEOM *geom;
+ LWGEOM *geom2;
char *in_ewkt, *out_ewkt;
/* counterclockwise, must be reversed */
/* NOTE: this is a narrow ring, see ticket #1302 */
in_ewkt = "0103000000010000000500000000917E9BA468294100917E9B8AEA2841C976BE1FA4682941C976BE9F8AEA2841B39ABE1FA46829415ACCC29F8AEA284137894120A4682941C976BE9F8AEA284100917E9BA468294100917E9B8AEA2841";
geom = lwgeom_from_hexwkb(in_ewkt, LW_PARSER_CHECK_NONE);
- lwgeom_force_clockwise(geom);
- out_ewkt = lwgeom_to_hexwkb(geom, WKB_ISO, NULL);
- if (strcmp(in_ewkt, out_ewkt))
- fprintf(stderr, "\nExp: %s\nObt: %s\n", in_ewkt, out_ewkt);
- CU_ASSERT_STRING_EQUAL(in_ewkt, out_ewkt);
- lwfree(out_ewkt);
+ geom2 = lwgeom_from_hexwkb(in_ewkt, LW_PARSER_CHECK_NONE);
+ lwgeom_force_clockwise(geom2);
+
+ /** use same check instead of strcmp to account
+ for difference in endianness **/
+ CU_ASSERT( lwgeom_same(geom, geom2) );
lwgeom_free(geom);
+ lwgeom_free(geom2);
}
/*