[geos-commits] r2704 - in trunk: . tests/unit/operation/buffer

svn_geos at osgeo.org svn_geos at osgeo.org
Thu Oct 29 10:24:57 EDT 2009


Author: mloskot
Date: 2009-10-29 10:24:56 -0400 (Thu, 29 Oct 2009)
New Revision: 2704

Modified:
   trunk/ChangeLog
   trunk/tests/unit/operation/buffer/BufferOpTest.cpp
Log:
Added test case for buffer of POINT(0 0) with distance 1.0 and 32 quadrant segments.

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2009-10-29 12:33:13 UTC (rev 2703)
+++ trunk/ChangeLog	2009-10-29 14:24:56 UTC (rev 2704)
@@ -1,3 +1,8 @@
+2009-10-29 14:25  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r2704] tests/unit/operation/buffer/BufferOpTest.cpp: Added test case
+	  for buffer of POINT(0 0) with distance 1.0 and 32 quadrant segments.
+
 2009-10-29 12:30  Mateusz Loskot <mateusz at loskot.net>
 
 	* [r2703] tests/unit/operation/buffer: added unit test case for BufferOp,

Modified: trunk/tests/unit/operation/buffer/BufferOpTest.cpp
===================================================================
--- trunk/tests/unit/operation/buffer/BufferOpTest.cpp	2009-10-29 12:33:13 UTC (rev 2703)
+++ trunk/tests/unit/operation/buffer/BufferOpTest.cpp	2009-10-29 14:24:56 UTC (rev 2704)
@@ -51,7 +51,6 @@
     void object::test<1>()
     {
         using geos::operation::buffer::BufferOp;
-        using geos::operation::buffer::BufferParameters;
 
         std::string wkt0("POINT(0 0)");
         GeomPtr g0(wktreader.read(wkt0));
@@ -70,7 +69,6 @@
     void object::test<2>()
     {
         using geos::operation::buffer::BufferOp;
-        using geos::operation::buffer::BufferParameters;
 
         std::string wkt0("POINT(0 0)");
         GeomPtr g0(wktreader.read(wkt0));
@@ -82,7 +80,31 @@
 
         ensure_not(gBuffer->isEmpty());
         ensure_equals(gBuffer->getGeometryTypeId(), geos::geom::GEOS_POLYGON);
-        ensure_equals(gBuffer->getNumPoints(), 33);
+        ensure(gBuffer->getNumPoints() > 32);
     }
 
+    template<>
+    template<>
+    void object::test<3>()
+    {
+        using geos::operation::buffer::BufferOp;
+        using geos::operation::buffer::BufferParameters;
+
+        std::string wkt0("POINT(0 0)");
+        GeomPtr g0(wktreader.read(wkt0));
+
+        // Buffer point with custom parameters: 32 quadrant segments
+        int const segments = 32;
+        BufferParameters params(segments);
+        
+        BufferOp op(g0.get(), params);
+
+        double const distance = 1.0;
+        GeomPtr gBuffer(op.getResultGeometry(distance));
+
+        ensure_not(gBuffer->isEmpty());
+        ensure_equals(gBuffer->getGeometryTypeId(), geos::geom::GEOS_POLYGON);
+        ensure(gBuffer->getNumPoints() > 129);
+    }
+
 } // namespace tut



More information about the geos-commits mailing list