From db528c5188bdd9b720361f3e6ba756adb975a8e0 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Wed, 24 Jun 2009 13:32:46 +0000 Subject: [PATCH] Add tests for parametrized buffer git-svn-id: http://svn.osgeo.org/postgis/trunk@4206 b70326c6-7e19-0410-871a-916f4a2858ee --- regress/Makefile.in | 5 +++++ regress/regress_buffer_params.sql | 16 ++++++++++++++++ regress/regress_buffer_params_expected | 8 ++++++++ 3 files changed, 29 insertions(+) create mode 100644 regress/regress_buffer_params.sql create mode 100644 regress/regress_buffer_params_expected diff --git a/regress/Makefile.in b/regress/Makefile.in index 60080404f..f548b8c44 100644 --- a/regress/Makefile.in +++ b/regress/Makefile.in @@ -62,6 +62,11 @@ ifeq ($(shell expr $(POSTGIS_GEOS_VERSION) ">=" 30),1) ifeq ($(shell expr $(POSTGIS_GEOS_VERSION) ">=" 31),1) TESTS += regress_ogc_prep +# Styled buffer only if GEOS >= 3.2 +ifeq ($(shell expr $(POSTGIS_GEOS_VERSION) ">=" 32),1) + TESTS += regress_buffer_params + +endif endif endif diff --git a/regress/regress_buffer_params.sql b/regress/regress_buffer_params.sql new file mode 100644 index 000000000..211d2dba3 --- /dev/null +++ b/regress/regress_buffer_params.sql @@ -0,0 +1,16 @@ +--- +--- Tests for ST_Buffer with parameters (needs GEOS-3.2 or higher) +--- +--- + +-- Ouput is snapped to grid to account for small floating numbers +-- differences between architectures +SELECT 'point quadsegs=2', astext(SnapToGrid(st_buffer('POINT(0 0)', 1, 'quad_segs=2'), 1.0e-6)); +SELECT 'line quadsegs=2', astext(SnapToGrid(st_buffer('LINESTRING(0 0, 10 0)', 2, 'quad_segs=2'), 1.0e-6)); +SELECT 'line quadsegs=2 endcap=flat', astext(SnapToGrid(st_buffer('LINESTRING(0 0, 10 0)', 2, 'quad_segs=2 endcap=flat'), 1.0e-6)); +SELECT 'line quadsegs=2 endcap=square', astext(SnapToGrid(st_buffer('LINESTRING(0 0, 10 0)', 2, 'quad_segs=2 endcap=square'), 1.0e-6)); +SELECT 'poly quadsegs=2 join=round', astext(SnapToGrid(st_buffer('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 2, 'quad_segs=2 join=round'), 1.0e-6)); +SELECT 'poly quadsegs=2 join=bevel', astext(SnapToGrid(st_buffer('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 2, 'quad_segs=2 join=bevel'), 1.0e-6)); +SELECT 'poly quadsegs=2 join=mitre', astext(SnapToGrid(st_buffer('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 2, 'quad_segs=2 join=mitre'), 1.0e-6)); +SELECT 'poly quadsegs=2 join=mitre mitre_limit=1', astext(SnapToGrid(st_buffer('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 2, 'quad_segs=2 join=mitre mitre_limit=1'), 1.0e-6)); + diff --git a/regress/regress_buffer_params_expected b/regress/regress_buffer_params_expected new file mode 100644 index 000000000..12129110d --- /dev/null +++ b/regress/regress_buffer_params_expected @@ -0,0 +1,8 @@ +point quadsegs=2|POLYGON((1 0,0.707107 -0.707107,0 -1,-0.707107 -0.707107,-1 0,-0.707107 0.707107,0 1,0.707107 0.707107,1 0)) +line quadsegs=2|POLYGON((10 2,11.414214 1.414214,12 0,11.414214 -1.414214,10 -2,0 -2,-1.414214 -1.414214,-2 0,-1.414214 1.414214,0 2,10 2)) +line quadsegs=2 endcap=flat|POLYGON((10 2,10 -2,0 -2,0 2,10 2)) +line quadsegs=2 endcap=square|POLYGON((10 2,12 2,12 -2,0 -2,-2 -2,-2 2,10 2)) +poly quadsegs=2 join=round|POLYGON((-2 0,-2 10,-1.414214 11.414214,0 12,10 12,11.414214 11.414214,12 10,12 0,11.414214 -1.414214,10 -2,0 -2,-1.414214 -1.414214,-2 0)) +poly quadsegs=2 join=bevel|POLYGON((-2 0,-2 10,0 12,10 12,12 10,12 0,10 -2,0 -2,-2 0)) +poly quadsegs=2 join=mitre|POLYGON((-2 -2,-2 12,12 12,12 -2,-2 -2)) +poly quadsegs=2 join=mitre mitre_limit=1|POLYGON((-1.828427 -1,-1.828427 11,-1 11.828427,11 11.828427,11.828427 11,11.828427 -1,11 -1.828427,-1 -1.828427,-1.828427 -1)) -- 2.50.1