From 9ce1c0b7c7fe9d3459abc743687fede842a5c8ce Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Wed, 9 Jan 2019 16:28:49 +0100 Subject: [PATCH] [test] Add area strategy to unit test function to be able to use another than the default --- test/algorithms/buffer/test_buffer.hpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/test/algorithms/buffer/test_buffer.hpp b/test/algorithms/buffer/test_buffer.hpp index 1273effde..f241b6e35 100644 --- a/test/algorithms/buffer/test_buffer.hpp +++ b/test/algorithms/buffer/test_buffer.hpp @@ -135,6 +135,7 @@ template typename DistanceStrategy, typename SideStrategy, typename PointStrategy, + typename AreaStrategy, typename Geometry > void test_buffer(std::string const& caseid, @@ -145,6 +146,7 @@ void test_buffer(std::string const& caseid, DistanceStrategy const& distance_strategy, SideStrategy const& side_strategy, PointStrategy const& point_strategy, + AreaStrategy const& area_strategy, int expected_count, int expected_holes_count, double expected_area, @@ -308,7 +310,7 @@ void test_buffer(std::string const& caseid, if (settings.test_area) { - typename bg::default_area_result::type area = bg::area(buffered); + typename bg::default_area_result::type area = bg::area(buffered, area_strategy); double const difference = area - expected_area; BOOST_CHECK_MESSAGE ( @@ -372,8 +374,14 @@ void test_buffer(std::string const& caseid, bg::model::multi_polygon::type + >::type area_strategy; + test_buffer(caseid, buffered, geometry, join_strategy, end_strategy, distance_strategy, side_strategy, point_strategy, + area_strategy, -1, -1, expected_area, settings); } @@ -422,11 +430,17 @@ void test_one(std::string const& caseid, std::string const& wkt, bg::math::equals(distance_right, same_distance) ? distance_left : distance_right); + typename bg::strategy::area::services::default_strategy + < + typename bg::cs_tag::type + >::type area_strategy; + bg::model::multi_polygon buffered; test_buffer (caseid, buffered, g, join_strategy, end_strategy, distance_strategy, side_strategy, circle_strategy, + area_strategy, expected_count, expected_holes_count, expected_area, settings); @@ -445,6 +459,7 @@ void test_one(std::string const& caseid, std::string const& wkt, (caseid + "_sym", buffered, g, join_strategy, end_strategy, sym_distance_strategy, side_strategy, circle_strategy, + area_strategy, expected_count, expected_holes_count, expected_area, settings);