From 47fcff59b3f7abce3eb43cbbc274e293b8d73624 Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sun, 5 Feb 2012 16:20:37 +0000 Subject: [PATCH] Added several tests for ticket #6019, fixed now, and some other configurations [SVN r76900] --- test/multi/algorithms/multi_convex_hull.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/test/multi/algorithms/multi_convex_hull.cpp b/test/multi/algorithms/multi_convex_hull.cpp index 19d9c1ff6..0da8d0ecf 100644 --- a/test/multi/algorithms/multi_convex_hull.cpp +++ b/test/multi/algorithms/multi_convex_hull.cpp @@ -47,9 +47,28 @@ void test_all() typedef bg::model::multi_point

mp; typedef bg::model::multi_linestring > ml; typedef bg::model::multi_polygon > mpoly; - test_geometry("multipoint((1.1 1.1), (2.5 2.1), (3.1 3.1), (4.9 1.1), (3.1 1.9))", 5, 4, 3.8); + + // All points below in upper-points and lower-points + test_geometry("MULTIPOINT((0 0),(5 0),(1 1),(4 1))", -1, 5, 4.0); + test_geometry("MULTIPOINT((0 1),(5 1),(1 0),(4 0))", -1, 5, 4.0); + + // All points in vertical line (this delivers an empty polygon with 2 points and a closing point) + test_geometry("MULTIPOINT((1 0),(5 0),(3 0),(4 0),(2 0))", -1, 3, 0.0); + + // One point only + test_geometry("MULTIPOINT((1 0))", -1, 3, 0.0); + + // Problem of 6019, reproduced by the convex hull robustness test: + test_geometry("MULTIPOINT((2 9),(1 3),(9 4),(1 1),(1 0),(7 9),(2 5),(3 7),(3 6),(2 4))", + -1, 6, 48.0); + + // Ticket 6019: + test_geometry("MULTIPOINT((0 53),(0 103),(0 53),(0 3),(0 3),(0 0),(1 0),(1 1),(2 1),(2 0),(2 0),(2 0),(3 0),(3 1),(4 1),(4 0),(5 0),(0 3),(10 3),(10 2),(10 2),(10 2),(5 2),(5 0),(5 0),(55 0),(105 0))", + -1, 4, 5407.5); // Ticket 6021: test_geometry("multipoint((0 53), (0 103), (1 53))", 3, 4, 25); + + test_geometry("multipoint((1.1 1.1), (2.5 2.1), (3.1 3.1), (4.9 1.1), (3.1 1.9))", 5, 4, 3.8); test_geometry("multilinestring((2 4, 3 4, 3 5), (4 3,4 4,5 4))", 6, 5, 3.0); test_geometry("multipolygon(((1 4,1 6,2 5,3 5,4 6,4 4,1 4)), ((4 2,4 3,6 3,6 2,4 2)))", 12, 7, 14.0);