Ignore:
Timestamp:
Feb 22, 2010 2:04:18 PM (7 years ago)
Author:
colivier
Message:

Fix #441. And introduce a change in behaviour: if geometryCollection and bbox, not sub geoms bbox are provided anymore

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/liblwgeom/cunit/cu_out_geojson.c

    r5291 r5311  
    197197}
    198198
    199 
    200199void out_geojson_test_bbox(void)
    201200{
     
    230229            NULL, 0, 1);
    231230
     231        /* GeometryCollection */
     232        do_geojson_test(
     233            "GEOMETRYCOLLECTION(LINESTRING(0 1,-1 3),LINESTRING(2 3,4 5))",
     234            "{\"type\":\"GeometryCollection\",\"bbox\":[-1,1,4,5],\"geometries\":[{\"type\":\"LineString\",\"coordinates\":[[0,1],[-1,3]]},{\"type\":\"LineString\",\"coordinates\":[[2,3],[4,5]]}]}",
     235            NULL, 0, 1);
     236
     237        /* Empty GeometryCollection */
     238        do_geojson_test(
     239            "GEOMETRYCOLLECTION EMPTY",
     240            "{\"type\":\"GeometryCollection\",\"geometries\":[]}",
     241            NULL, 0, 1);
     242
    232243#if 0
     244        /* Nested GeometryCollection */
     245        do_geojson_test(
     246            "GEOMETRYCOLLECTION(POINT(0 1),GEOMETRYCOLLECTION(LINESTRING(2 3,4 5)))",
     247            "",
     248            NULL, 0, 1);
     249#endif
     250}
     251
     252void out_geojson_test_geoms(void)
     253{
     254        /* Linestring */
     255        do_geojson_test(
     256            "LINESTRING(0 1,2 3,4 5)",
     257            "{\"type\":\"LineString\",\"coordinates\":[[0,1],[2,3],[4,5]]}",
     258            NULL, 0, 0);
     259
     260        /* Polygon */
     261        do_geojson_test(
     262            "POLYGON((0 1,2 3,4 5,0 1))",
     263            "{\"type\":\"Polygon\",\"coordinates\":[[[0,1],[2,3],[4,5],[0,1]]]}",
     264            NULL, 0, 0);
     265
     266        /* Polygon - with internal ring */
     267        do_geojson_test(
     268            "POLYGON((0 1,2 3,4 5,0 1),(6 7,8 9,10 11,6 7))",
     269            "{\"type\":\"Polygon\",\"coordinates\":[[[0,1],[2,3],[4,5],[0,1]],[[6,7],[8,9],[10,11],[6,7]]]}",
     270            NULL, 0, 0);
     271
     272        /* Multiline */
     273        do_geojson_test(
     274            "MULTILINESTRING((0 1,2 3,4 5),(6 7,8 9,10 11))",
     275            "{\"type\":\"MultiLineString\",\"coordinates\":[[[0,1],[2,3],[4,5]],[[6,7],[8,9],[10,11]]]}",
     276            NULL, 0, 0);
     277
     278        /* MultiPolygon */
     279        do_geojson_test(
     280            "MULTIPOLYGON(((0 1,2 3,4 5,0 1)),((6 7,8 9,10 11,6 7)))",
     281            "{\"type\":\"MultiPolygon\",\"coordinates\":[[[[0,1],[2,3],[4,5],[0,1]]],[[[6,7],[8,9],[10,11],[6,7]]]]}",
     282            NULL, 0, 0);
     283
    233284        /* GeometryCollection */
    234285        do_geojson_test(
    235286            "GEOMETRYCOLLECTION(POINT(0 1),LINESTRING(2 3,4 5))",
    236287            "{\"type\":\"GeometryCollection\",\"geometries\":[{\"type\":\"Point\",\"coordinates\":[0,1]},{\"type\":\"LineString\",\"coordinates\":[[2,3],[4,5]]}]}",
    237             NULL, 0, 1);
     288            NULL, 0, 0);
    238289
    239290        /* Empty GeometryCollection */
     
    241292            "GEOMETRYCOLLECTION EMPTY",
    242293            "{\"type\":\"GeometryCollection\",\"geometries\":[]}",
    243             NULL, 0, 1);
     294            NULL, 0, 0);
    244295
    245296        /* Nested GeometryCollection */
     
    247298            "GEOMETRYCOLLECTION(POINT(0 1),GEOMETRYCOLLECTION(LINESTRING(2 3,4 5)))",
    248299            "{\"type\":\"GeometryCollection\",\"geometries\":[{\"type\":\"Point\",\"coordinates\":[0,1]},]}",
    249             NULL, 0, 1);
    250 #endif
    251 }
    252 
    253 void out_geojson_test_geoms(void)
    254 {
    255         /* Linestring */
    256         do_geojson_test(
    257             "LINESTRING(0 1,2 3,4 5)",
    258             "{\"type\":\"LineString\",\"coordinates\":[[0,1],[2,3],[4,5]]}",
    259             NULL, 0, 0);
    260 
    261         /* Polygon */
    262         do_geojson_test(
    263             "POLYGON((0 1,2 3,4 5,0 1))",
    264             "{\"type\":\"Polygon\",\"coordinates\":[[[0,1],[2,3],[4,5],[0,1]]]}",
    265             NULL, 0, 0);
    266 
    267         /* Polygon - with internal ring */
    268         do_geojson_test(
    269             "POLYGON((0 1,2 3,4 5,0 1),(6 7,8 9,10 11,6 7))",
    270             "{\"type\":\"Polygon\",\"coordinates\":[[[0,1],[2,3],[4,5],[0,1]],[[6,7],[8,9],[10,11],[6,7]]]}",
    271             NULL, 0, 0);
    272 
    273         /* Multiline */
    274         do_geojson_test(
    275             "MULTILINESTRING((0 1,2 3,4 5),(6 7,8 9,10 11))",
    276             "{\"type\":\"MultiLineString\",\"coordinates\":[[[0,1],[2,3],[4,5]],[[6,7],[8,9],[10,11]]]}",
    277             NULL, 0, 0);
    278 
    279         /* MultiPolygon */
    280         do_geojson_test(
    281             "MULTIPOLYGON(((0 1,2 3,4 5,0 1)),((6 7,8 9,10 11,6 7)))",
    282             "{\"type\":\"MultiPolygon\",\"coordinates\":[[[[0,1],[2,3],[4,5],[0,1]]],[[[6,7],[8,9],[10,11],[6,7]]]]}",
    283             NULL, 0, 0);
    284 
    285         /* GeometryCollection */
    286         do_geojson_test(
    287             "GEOMETRYCOLLECTION(POINT(0 1),LINESTRING(2 3,4 5))",
    288             "{\"type\":\"GeometryCollection\",\"geometries\":[{\"type\":\"Point\",\"coordinates\":[0,1]},{\"type\":\"LineString\",\"coordinates\":[[2,3],[4,5]]}]}",
    289             NULL, 0, 0);
    290 
    291         /* Empty GeometryCollection */
    292         do_geojson_test(
    293             "GEOMETRYCOLLECTION EMPTY",
    294             "{\"type\":\"GeometryCollection\",\"geometries\":[]}",
    295             NULL, 0, 0);
    296 
    297         /* Nested GeometryCollection */
    298         do_geojson_test(
    299             "GEOMETRYCOLLECTION(POINT(0 1),GEOMETRYCOLLECTION(LINESTRING(2 3,4 5)))",
    300             "{\"type\":\"GeometryCollection\",\"geometries\":[{\"type\":\"Point\",\"coordinates\":[0,1]},]}",
    301300            NULL, 0, 0);
    302301
Note: See TracChangeset for help on using the changeset viewer.