Added test for fix of robustness problem for case called "ggl_list_20110306_javier"

[SVN r69612]
This commit is contained in:
Barend Gehrels 2011-03-06 21:20:49 +00:00
parent 394b7ec79d
commit d662cda065
6 changed files with 27 additions and 6 deletions

View File

@ -233,6 +233,10 @@ void test_all()
// ticket#17
test_overlay<polygon, box, test_get_turns, Tuple>("ticket_17", boost::make_tuple(6), ticket_17[0], ticket_17[1]);
// GGL-mailing list
test_overlay<polygon, polygon, test_get_turns, Tuple>("ggl_list_20110306_javier",
boost::make_tuple(4),
ggl_list_20110306_javier[0], ggl_list_20110306_javier[1]);
// pies
@ -296,7 +300,6 @@ int test_main(int, char* [])
test_all<double>();
test_ccw<double>();
test_open<double>();
//test_all<tt>();
#if ! defined(_MSC_VER)
test_all<long double>();

View File

@ -484,6 +484,13 @@ static std::string isovist[2] =
"POLYGON((43.644271850585938 0.96149998903274536,43.764598846435547 0.93951499462127686,49.071769542946825 0.61489892713413252,48.43512638981781 -0.81299959072453376,47.830955505371094 -0.69758313894271851,47.263670054709685 -1.784876824891044,46.695858001708984 -1.6093428134918213,45.389434814453125 -4.5143837928771973,47.604561877161387 -6.087697464505224,46.559533858616469 -8.435196445683264,42.699958801269531 -4.4278755187988281,42.577877044677734 -4.4900407791137695,42.577911376953125 -4.4901103973388672,40.758884429931641 -5.418975830078125,40.6978759765625 -5.4500408172607422,41.590042114257813 -7.2021245956420898,57.524304765518266 -37.807195733984784,41.988733475572282 -19.945838749437218,41.821544647216797 -19.211688995361328,40.800632476806641 -17.208097457885742,39.966808319091797 -17.625011444091797,38.823680877685547 -16.296066284179688,37.326129913330078 -17.190576553344727,35.963497161865234 -15.476018905639648,35.656356811523438 -15.66030216217041,34.931102752685547 -16.223842620849609,34.634240447128811 -15.85007183479255,34.886280059814453 -14.120697975158691,34.658355712890625 -13.81736946105957,34.328716278076172 -13.992490768432617,33.598796844482422 -14.546377182006836,33.164891643669634 -14.000060288415174,33.566280364990234 -12.450697898864746,33.339523315429688 -12.147735595703125,32.998821258544922 -12.323249816894531,32.274600982666016 -12.879127502441406,31.682494778186321 -12.133624901803865,32.226280212402344 -10.790698051452637,32.000633239746094 -10.488097190856934,31.669155120849609 -10.653837203979492,30.947774887084961 -11.208560943603516,30.207040612748258 -10.275926149505661,30.896280288696289 -9.1206979751586914,30.670633316040039 -8.8180980682373047,30.339155197143555 -8.9838371276855469,29.619997024536133 -9.5368013381958008,29.135100397190627 -8.9262827849488211,32.718830108642578 -4.3281683921813965,32.708168029785156 -2.3611698150634766,32.708126068115234 -2.3611700534820557,32.708126068115234 -2.3611266613006592,30.501169204711914 -2.3718316555023193,27.069889344709196 -4.2926591211028242,26.472516656201325 -3.5380830513658776,36.954700469970703 1.2597870826721191,37.140213012695313 1.3446992635726929,37.000419616699219 1.664225697517395,37.29449462890625 1.7902572154998779,37.43402099609375 1.470055103302002,51.370888500897557 7.4163459734570729,51.20102152843122 7.1738039562841562,42.721500396728516 3.6584999561309814,42.721500396728516 2.2342472076416016,42.399410247802734 1.4956772327423096,43.644271850585938 0.96149998903274536))"
};
static std::string ggl_list_20110306_javier[2] =
{
"POLYGON((-2 2,2002 2,2002 -2002,-2 -2002,-2 2),(0 -147.00000000000003,0 -2000,2000 -2000,2000 0,104 0,440 -240,400 -280,0 -147.00000000000003))",
"POLYGON((359.99000000000001 -280,0 -182,0 -147,400.00999999999999 -280,359.99000000000001 -280))"
};
// GEOS "TestOverlay" test.
// Note that the first one WAS invalid and is made valid using SQL Server 2008 Spatial MakeValid() function
static std::string geos_1_test_overlay[2] =

View File

@ -830,7 +830,6 @@ void test_all(bool test_self_tangencies = true, bool test_mixed = false)
boost::make_tuple(1, 2304.41633605957),
geos_4[0], geos_4[1]);
return;
// Cases below still have errors
@ -876,7 +875,7 @@ void test_ccw()
int test_main(int, char* [])
{
//test_all<float>();
test_all<float>();
test_all<double>();
test_open<double>();
test_ccw<double>();

View File

@ -20,7 +20,7 @@
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)\traverse"
ConfigurationType="1"
InheritedPropertySheets="..\..\boost.vsprops"
InheritedPropertySheets="..\..\boost.vsprops;..\..\ttmath.vsprops"
CharacterSet="1"
>
<Tool
@ -93,7 +93,7 @@
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)\traverse"
ConfigurationType="1"
InheritedPropertySheets="..\..\boost.vsprops"
InheritedPropertySheets="..\..\boost.vsprops;..\..\ttmath.vsprops"
CharacterSet="1"
WholeProgramOptimization="1"
>

View File

@ -26,7 +26,7 @@
#include <boost/geometry/strategies/strategies.hpp>
#include <boost/geometry/extensions/gis/io/wkt/read_wkt.hpp>
#include <boost/geometry/extensions/gis/io/wkt/wkt.hpp>
#if defined(TEST_WITH_SVG)
@ -67,7 +67,15 @@ void test_union(std::string const& caseid, G1 const& g1, G2 const& g2,
std::vector<OutputType> inserted, array_with_one_empty_geometry;
array_with_one_empty_geometry.push_back(OutputType());
boost::copy(array_with_one_empty_geometry, bg::union_inserter<OutputType>(g1, g2, std::back_inserter(inserted)));
typename bg::area_result<G1>::type area_inserted = 0;
for (typename std::vector<OutputType>::iterator it = inserted.begin();
it != inserted.end(); ++it)
{
area_inserted += bg::area(*it);
}
BOOST_CHECK_EQUAL(boost::size(clip), boost::size(inserted) - 1);
BOOST_CHECK_CLOSE(area_inserted, expected_area, percentage);
}

View File

@ -209,6 +209,10 @@ void test_areal()
// "new hole", tested with Ring -> the newly formed hole will be omitted
test_one<Ring, Ring, Ring>("new_hole_discarded", new_hole[0], new_hole[1], 1, 0, 9, 24.0);
test_one<Polygon, Polygon, Polygon>("ggl_list_20110306_javier",
ggl_list_20110306_javier[0], ggl_list_20110306_javier[1],
1, 1, 16, 80456.4904910401);
#ifdef _MSC_VER
{
// Isovist (submitted by Brandon during Formal Review)