]> pd.if.org Git - dumppoints/blob - t/equivalent.sql
added email address to README
[dumppoints] / t / equivalent.sql
1 begin;
2         select plan(9);
3
4 select results_eq(
5         $want$
6         SELECT path, ST_AsText(geom) 
7         FROM (
8           SELECT (dp.ST_DumpPoints(g.geom)).* 
9           FROM
10             (SELECT 
11                'POINT (0 9)'::geometry AS geom
12             ) AS g
13           ) j;
14         $want$,
15         $have$
16         SELECT path, ST_AsText(geom) 
17         FROM (
18           SELECT (public.ST_DumpPoints(g.geom)).* 
19           FROM
20             (SELECT 
21                'POINT (0 9)'::geometry AS geom
22             ) AS g
23           ) j;
24         $have$,
25         'single point'
26 );
27
28 select results_eq(
29         $want$
30         SELECT path, ST_AsText(geom) 
31         FROM (
32           SELECT (dp.ST_DumpPoints(g.geom)).* 
33           FROM
34             (SELECT 
35                'LINESTRING (
36                         0 0, 
37                         0 9, 
38                         9 9, 
39                         9 0, 
40                         0 0
41                     )'::geometry AS geom
42             ) AS g
43           ) j;
44         $want$,
45         $have$
46         SELECT path, ST_AsText(geom) 
47         FROM (
48           SELECT (public.ST_DumpPoints(g.geom)).* 
49           FROM
50             (SELECT 
51                'LINESTRING (
52                         0 0, 
53                         0 9, 
54                         9 9, 
55                         9 0, 
56                         0 0
57                     )'::geometry AS geom
58             ) AS g
59           ) j;
60         $have$,
61         'linestring'
62 );
63
64 select results_eq(
65         $want$
66         SELECT path, ST_AsText(geom) 
67         FROM (
68           SELECT (dp.ST_DumpPoints(g.geom)).* 
69           FROM
70             (SELECT 
71                'POLYGON ((
72                         0 0, 
73                         0 9, 
74                         9 9, 
75                         9 0, 
76                         0 0
77                     ))'::geometry AS geom
78             ) AS g
79           ) j;
80         $want$,
81         $have$
82         SELECT path, ST_AsText(geom) 
83         FROM (
84           SELECT (public.ST_DumpPoints(g.geom)).* 
85           FROM
86             (SELECT 
87                'POLYGON ((
88                         0 0, 
89                         0 9, 
90                         9 9, 
91                         9 0, 
92                         0 0
93                     ))'::geometry AS geom
94             ) AS g
95           ) j;
96         $have$,
97         'polygon'
98 );
99
100 select results_eq(
101         $want$
102         SELECT path, ST_AsText(geom) 
103         FROM (
104           SELECT (dp.ST_DumpPoints(g.geom)).* 
105           FROM
106             (SELECT 
107                'TRIANGLE ((
108                         0 0, 
109                         0 9, 
110                         9 0, 
111                         0 0
112                     ))'::geometry AS geom
113             ) AS g
114           ) j;
115         $want$,
116         $have$
117         SELECT path, ST_AsText(geom) 
118         FROM (
119           SELECT (public.ST_DumpPoints(g.geom)).* 
120           FROM
121             (SELECT 
122                'TRIANGLE ((
123                         0 0, 
124                         0 9, 
125                         9 0, 
126                         0 0
127                     ))'::geometry AS geom
128             ) AS g
129           ) j;
130         $have$,
131         'triangle'
132 );
133
134
135 select results_eq(
136         $want$
137         SELECT path, ST_AsText(geom) 
138         FROM (
139           SELECT (dp.ST_DumpPoints(g.geom)).* 
140           FROM
141             (SELECT 
142                'POLYGON ((
143                         0 0, 
144                         0 9, 
145                         9 9, 
146                         9 0, 
147                         0 0
148                     ), (
149                         1 1, 
150                         1 3, 
151                         3 2, 
152                         1 1
153                     ), (
154                         7 6, 
155                         6 8, 
156                         8 8, 
157                         7 6
158                     ))'::geometry AS geom
159             ) AS g
160           ) j;
161         $want$,
162         $have$
163         SELECT path, ST_AsText(geom) 
164         FROM (
165           SELECT (public.ST_DumpPoints(g.geom)).* 
166           FROM
167             (SELECT 
168                'POLYGON ((
169                         0 0, 
170                         0 9, 
171                         9 9, 
172                         9 0, 
173                         0 0
174                     ), (
175                         1 1, 
176                         1 3, 
177                         3 2, 
178                         1 1
179                     ), (
180                         7 6, 
181                         6 8, 
182                         8 8, 
183                         7 6
184                     ))'::geometry AS geom
185             ) AS g
186           ) j;
187         $have$,
188         'polygon with rings'
189 );
190
191 select results_eq(
192         $want$
193         SELECT path, ST_AsText(geom) 
194         FROM (
195           SELECT (dp.ST_DumpPoints(g.geom)).* 
196           FROM
197             (SELECT 
198                'MULTIPOLYGON (((
199                         0 0, 
200                         0 3, 
201                         4 3, 
202                         4 0, 
203                         0 0
204                     )), ((
205                         2 4, 
206                         1 6, 
207                         4 5, 
208                         2 4
209                     ), (
210                         7 6, 
211                         6 8, 
212                         8 8, 
213                         7 6
214                     )))'::geometry AS geom
215             ) AS g
216           ) j;
217         $want$,
218         $have$
219         SELECT path, ST_AsText(geom) 
220         FROM (
221           SELECT (public.ST_DumpPoints(g.geom)).* 
222           FROM
223             (SELECT 
224                'MULTIPOLYGON (((
225                         0 0, 
226                         0 3, 
227                         4 3, 
228                         4 0, 
229                         0 0
230                     )), ((
231                         2 4, 
232                         1 6, 
233                         4 5, 
234                         2 4
235                     ), (
236                         7 6, 
237                         6 8, 
238                         8 8, 
239                         7 6
240                     )))'::geometry AS geom
241             ) AS g
242           ) j;
243         $have$,
244         'multipolygon'
245 );
246
247 select results_eq(
248         $want$
249         SELECT path, ST_AsEWKT(geom) 
250         FROM (
251           SELECT (ST_DumpPoints(g.geom)).* 
252            FROM
253              (SELECT 
254                'POLYHEDRALSURFACE (((
255                         0 0 0, 
256                         0 0 1, 
257                         0 1 1, 
258                         0 1 0, 
259                         0 0 0
260                     )), ((
261                         0 0 0, 
262                         0 1 0, 
263                         1 1 0, 
264                         1 0 0, 
265                         0 0 0
266                     ))
267                     )'::geometry AS geom
268            ) AS g
269           ) j;
270         $want$,
271         $have$
272         SELECT path, ST_AsEWKT(geom) 
273         FROM (
274           SELECT (ST_DumpPoints(g.geom)).* 
275            FROM
276              (SELECT 
277                'POLYHEDRALSURFACE (((
278                         0 0 0, 
279                         0 0 1, 
280                         0 1 1, 
281                         0 1 0, 
282                         0 0 0
283                     )), ((
284                         0 0 0, 
285                         0 1 0, 
286                         1 1 0, 
287                         1 0 0, 
288                         0 0 0
289                     ))
290                     )'::geometry AS geom
291            ) AS g
292           ) j;
293         $have$,
294         'polyhedralsurface'
295 );
296
297 select results_eq(
298         $want$
299         SELECT path, ST_AsEWKT(geom) 
300         FROM (
301           SELECT (dp.ST_DumpPoints(g.geom)).* 
302            FROM
303              (SELECT 
304                'TIN (((
305                         0 0 0, 
306                         0 0 1, 
307                         0 1 0, 
308                         0 0 0
309                     )), ((
310                         0 0 0, 
311                         0 1 0, 
312                         1 1 0, 
313                         0 0 0
314                     ))
315                     )'::geometry AS geom
316            ) AS g
317           ) j;
318         $want$,
319         $have$
320         SELECT path, ST_AsEWKT(geom) 
321         FROM (
322           SELECT (public.ST_DumpPoints(g.geom)).* 
323            FROM
324              (SELECT 
325                'TIN (((
326                         0 0 0, 
327                         0 0 1, 
328                         0 1 0, 
329                         0 0 0
330                     )), ((
331                         0 0 0, 
332                         0 1 0, 
333                         1 1 0, 
334                         0 0 0
335                     ))
336                     )'::geometry AS geom
337            ) AS g
338           ) j;
339         $have$,
340         'tin'
341 );
342
343 select results_eq(
344         $want$
345         SELECT path, ST_AsText(geom) 
346         FROM (
347           SELECT (dp.ST_DumpPoints(g.geom)).* 
348           FROM
349             (SELECT 
350                'GEOMETRYCOLLECTION(
351                   POINT(99 98), 
352                   LINESTRING(1 1, 3 3),
353                   POLYGON((0 0, 0 1, 1 1, 0 0)),
354                   POLYGON((0 0, 0 9, 9 9, 9 0, 0 0), (5 5, 5 6, 6 6, 5 5)),
355                   MULTIPOLYGON(((0 0, 0 9, 9 9, 9 0, 0 0), (5 5, 5 6, 6 6, 5 5)))
356                 )'::geometry AS geom
357             ) AS g
358           ) j;
359         $want$,
360         $have$
361         SELECT path, ST_AsText(geom) 
362         FROM (
363           SELECT (public.ST_DumpPoints(g.geom)).* 
364           FROM
365             (SELECT 
366                'GEOMETRYCOLLECTION(
367                   POINT(99 98), 
368                   LINESTRING(1 1, 3 3),
369                   POLYGON((0 0, 0 1, 1 1, 0 0)),
370                   POLYGON((0 0, 0 9, 9 9, 9 0, 0 0), (5 5, 5 6, 6 6, 5 5)),
371                   MULTIPOLYGON(((0 0, 0 9, 9 9, 9 0, 0 0), (5 5, 5 6, 6 6, 5 5)))
372                 )'::geometry AS geom
373             ) AS g
374           ) j;
375         $have$,
376         'collection'
377 );
378
379 select finish();
380
381 rollback;
382 \q
383