]> granicus.if.org Git - postgis/commitdiff
Add test for MULTIPOINT processing
authorSandro Santilli <strk@keybit.net>
Tue, 12 Jun 2012 09:30:21 +0000 (09:30 +0000)
committerSandro Santilli <strk@keybit.net>
Tue, 12 Jun 2012 09:30:21 +0000 (09:30 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@9893 b70326c6-7e19-0410-871a-916f4a2858ee

liblwgeom/cunit/cu_clean.c

index be771db8c40df5af2d81ca521db66b954b8c5ca4..08070ea68bcdf043ae7ddf55773e06a0cf634340 100644 (file)
@@ -20,7 +20,6 @@ static void test_lwgeom_make_valid(void)
 {
 #if POSTGIS_GEOS_VERSION >= 33
        LWGEOM *gin, *gout;
-       int ret;
        char *ewkt;
 
        /* Because i don't trust that much prior tests...  ;) */
@@ -29,7 +28,7 @@ static void test_lwgeom_make_valid(void)
        gin = lwgeom_from_wkt(
 "MULTIPOLYGON(((1725063 4819121, 1725104 4819067, 1725060 4819087, 1725064.14183882 4819094.70208557,1725064.13656044 4819094.70235069,1725064.14210359 4819094.70227252,1725064.14210362 4819094.70227252,1725064.13656043 4819094.70235069,1725055. 4819094, 1725055 4819094, 1725055 4819094, 1725063 4819121)))",
                LW_PARSER_CHECK_NONE);
-       CU_ASSERT(gin);
+       CU_ASSERT(gin != NULL);
 
        gout = lwgeom_make_valid(gin);
 
@@ -43,17 +42,18 @@ static void test_lwgeom_make_valid(void)
        lwgeom_free(gout);
        lwgeom_free(gin);
 
+       /* Test collection */
 
        gin = lwgeom_from_wkt(
 "GEOMETRYCOLLECTION(LINESTRING(0 0, 0 0), POLYGON((0 0, 10 10, 10 0, 0 10, 0 0)), LINESTRING(10 0, 10 10))",
                LW_PARSER_CHECK_NONE);
-       CU_ASSERT(gin);
+       CU_ASSERT(gin != NULL);
 
        gout = lwgeom_make_valid(gin);
-       CU_ASSERT(gout);
+       CU_ASSERT(gout != NULL);
 
        ewkt = lwgeom_to_ewkt(gout);
-       printf("c = %s\n", ewkt);
+       /* printf("c = %s\n", ewkt); */
        CU_ASSERT_STRING_EQUAL(ewkt,
 "GEOMETRYCOLLECTION(POINT(0 0),MULTIPOLYGON(((5 5,0 0,0 10,5 5)),((5 5,10 10,10 0,5 5))),LINESTRING(10 0,10 10))");
        lwfree(ewkt);
@@ -61,6 +61,25 @@ static void test_lwgeom_make_valid(void)
        lwgeom_free(gout);
        lwgeom_free(gin);
 
+       /* Test multipoint */
+
+       gin = lwgeom_from_wkt(
+"MULTIPOINT(0 0,1 1,2 2)",
+               LW_PARSER_CHECK_NONE);
+       CU_ASSERT(gin != NULL);
+
+       gout = lwgeom_make_valid(gin);
+       CU_ASSERT(gout != NULL);
+
+       ewkt = lwgeom_to_ewkt(gout);
+       /* printf("c = %s\n", ewkt); */
+       CU_ASSERT_STRING_EQUAL(ewkt,
+"MULTIPOINT(0 0,1 1,2 2)");
+       lwfree(ewkt);
+
+       lwgeom_free(gout);
+       lwgeom_free(gin);
+
 #endif /* POSTGIS_GEOS_VERSION >= 33 */
 }