106{
107
108 do_geom_test(
"GEOMETRYCOLLECTION(POINT(1 2),LINESTRING(3 4,5 6))",
109 "GEOMETRYCOLLECTION(POINT(1 2),LINESTRING(3 4,5 6))");
110
111 do_geom_test(
"GEOMETRYCOLLECTION(LINESTRING(1 2,3 4),POLYGON((5 6,7 8,9 10,5 6)))",
112 "GEOMETRYCOLLECTION(LINESTRING(1 2,3 4),POLYGON((5 6,7 8,9 10,5 6)))");
113
114
115
116 do_geom_test(
"GEOMETRYCOLLECTION(POINT(1 2),LINESTRING(3 4,5 6),POINT(7 8))",
117 "GEOMETRYCOLLECTION(MULTIPOINT(1 2,7 8),LINESTRING(3 4,5 6))");
118
119 do_geom_test(
"GEOMETRYCOLLECTION(POINT(1 2),LINESTRING(3 4,5 6),MULTIPOINT(7 8,9 10))",
120 "GEOMETRYCOLLECTION(MULTIPOINT(1 2,7 8,9 10),LINESTRING(3 4,5 6))");
121
122
123
124 do_geom_test(
"GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 2))))",
125 "POINT(1 2)");
126
127 do_geom_test(
"GEOMETRYCOLLECTION(POINT(1 2),GEOMETRYCOLLECTION(LINESTRING(3 4,5 6)))",
128 "GEOMETRYCOLLECTION(POINT(1 2),LINESTRING(3 4,5 6))");
129
130
131
133 "GEOMETRYCOLLECTION EMPTY");
134
135
136
137 do_geom_test(
"GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY)",
138 "GEOMETRYCOLLECTION EMPTY");
139
140 do_geom_test(
"GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY))",
141 "GEOMETRYCOLLECTION EMPTY");
142}
static void do_geom_test(char *in, char *out)