Mercurial > gemma
comparison schema/isrs_tests.sql @ 3561:453f15ba8030
Improve error handling in area generation
Instead of hitting a NOT NULL constraint later on, raise an error
if no candidate area for cutting is found.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Fri, 31 May 2019 16:58:42 +0200 |
parents | d316a6e41f54 |
children | 4c585b5d4fe8 |
comparison
equal
deleted
inserted
replaced
3560:ec1aec03676d | 3561:453f15ba8030 |
---|---|
56 ('AT', 'XXX', '00001', '00000', 0)::isrs, | 56 ('AT', 'XXX', '00001', '00000', 0)::isrs, |
57 ('AT', 'XXX', '00001', '00000', 2)::isrs), | 57 ('AT', 'XXX', '00001', '00000', 2)::isrs), |
58 5)), | 58 5)), |
59 'ISRSrange_axis returns a valid simple feature'); | 59 'ISRSrange_axis returns a valid simple feature'); |
60 | 60 |
61 SELECT ok( | 61 SELECT throws_ok($$ |
62 ISRSrange_area(ISRSrange_axis(isrsrange( | 62 SELECT ISRSrange_area('LINESTRING(0 0, 1 1)', NULL) |
63 $$, | |
64 'P0002', NULL, | |
65 'ISRSrange_area fails if no input area is given'); | |
66 | |
67 SELECT throws_ok($$ | |
68 SELECT ISRSrange_area(ISRSrange_axis(isrsrange( | |
63 ('AT', 'XXX', '00001', '00000', 0)::isrs, | 69 ('AT', 'XXX', '00001', '00000', 0)::isrs, |
64 ('AT', 'XXX', '00001', '00000', 1)::isrs), | 70 ('AT', 'XXX', '00001', '00000', 1)::isrs), |
65 5), | 71 5), |
66 ST_SetSRID('POLYGON((0 1, 0 2, 1 2, 1 1, 0 1))'::geometry, 4326) | 72 ST_SetSRID('POLYGON((0 1, 0 2, 1 2, 1 1, 0 1))'::geometry, 4326)) |
67 ) IS NULL, | 73 $$, |
68 'ISRSrange_area returns NULL, if given area does not intersect with axis'); | 74 'P0002', NULL, |
75 'ISRSrange_area fails, if given area does not intersect with axis'); | |
69 | 76 |
70 SELECT results_eq($$ | 77 SELECT results_eq($$ |
71 SELECT every(ST_DWithin( | 78 SELECT every(ST_DWithin( |
72 ST_Boundary(ISRSrange_area( | 79 ST_Boundary(ISRSrange_area( |
73 ISRSrange_axis(isrsrange( | 80 ISRSrange_axis(isrsrange( |