From 1dad2eb97cec09e5be3caadf438abd73b64e5a0c Mon Sep 17 00:00:00 2001 From: Adam Wulkiewicz Date: Fri, 14 Jul 2017 16:19:07 +0200 Subject: [PATCH] [test][overlay] Update cases wrt recent changes (user-defined strategy). --- test/algorithms/overlay/relative_order.cpp | 10 +++++++++- test/algorithms/overlay/sort_by_side.cpp | 12 +++++++----- test/algorithms/overlay/sort_by_side_basic.cpp | 7 ++++--- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/test/algorithms/overlay/relative_order.cpp b/test/algorithms/overlay/relative_order.cpp index e26f39066..8d2a5b47a 100644 --- a/test/algorithms/overlay/relative_order.cpp +++ b/test/algorithms/overlay/relative_order.cpp @@ -31,6 +31,9 @@ # include #endif +#include +#include + template void test_with_point(std::string const& /*caseid*/, @@ -46,7 +49,12 @@ void test_with_point(std::string const& /*caseid*/, P si = bg::make

(si_x, si_y); P sj = bg::make

(sj_x, sj_y); - int order = bg::detail::overlay::get_relative_order

::apply(pi, pj, ri, rj, si, sj); + typedef typename bg::strategy::side::services::default_strategy + < + typename bg::cs_tag

::type + >::type strategy_type; + + int order = bg::detail::overlay::get_relative_order::apply(pi, pj, ri, rj, si, sj, strategy_type()); BOOST_CHECK_EQUAL(order, expected_order); diff --git a/test/algorithms/overlay/sort_by_side.cpp b/test/algorithms/overlay/sort_by_side.cpp index 5635d46f6..b311dccc7 100644 --- a/test/algorithms/overlay/sort_by_side.cpp +++ b/test/algorithms/overlay/sort_by_side.cpp @@ -49,12 +49,14 @@ template typename Turns, typename Clusters, typename Geometry1, - typename Geometry2 + typename Geometry2, + typename SideStrategy > std::vector test_gather_cluster_properties(std::string const& case_id, Clusters& clusters, Turns& turns, bg::detail::overlay::operation_type for_operation, - Geometry1 const& geometry1, Geometry2 const& geometry2) + Geometry1 const& geometry1, Geometry2 const& geometry2, + SideStrategy const& strategy) { using namespace boost::geometry; using namespace boost::geometry::detail::overlay; @@ -69,7 +71,7 @@ std::vector test_gather_cluster_properties(std::string const& case_ // right side typedef sort_by_side::side_sorter < - Reverse1, Reverse2, OverlayType, point_type, std::less + Reverse1, Reverse2, OverlayType, point_type, SideStrategy, std::less > sbs_type; for (typename Clusters::iterator mit = clusters.begin(); @@ -82,7 +84,7 @@ std::vector test_gather_cluster_properties(std::string const& case_ return result; } - sbs_type sbs; + sbs_type sbs(strategy); point_type turn_point; // should be all the same for all turns in cluster bool first = true; @@ -165,7 +167,7 @@ std::vector apply_overlay(std::string const& case_id, // Gather cluster properties, with test option return test_gather_cluster_properties(case_id, clusters, turns, bg::detail::overlay::operation_from_overlay::value, - geometry1, geometry2); + geometry1, geometry2, strategy.get_side_strategy()); } diff --git a/test/algorithms/overlay/sort_by_side_basic.cpp b/test/algorithms/overlay/sort_by_side_basic.cpp index 877de7c50..15c85c285 100644 --- a/test/algorithms/overlay/sort_by_side_basic.cpp +++ b/test/algorithms/overlay/sort_by_side_basic.cpp @@ -89,13 +89,14 @@ std::vector apply_get_turns(std::string const& case_id, // Define sorter, sorting counter-clockwise such that polygons are on the // right side + typedef typename Strategy::side_strategy_type side_strategy; typedef bg::detail::overlay::sort_by_side::side_sorter < false, false, overlay_union, - point_type, std::less + point_type, side_strategy, std::less > sbs_type; - sbs_type sbs; + sbs_type sbs(strategy.get_side_strategy()); std::cout << "Case: " << case_id << std::endl; @@ -187,7 +188,7 @@ std::vector apply_get_turns(std::string const& case_id, } else { - BOOST_CHECK_MESSAGE(right_count[rank] == ranked_point.count_right, + BOOST_CHECK_MESSAGE(right_count[rank] == int(ranked_point.count_right), " caseid=" << case_id << " ranks: conflict in right_count=" << ranked_point.count_right << " vs " << right_count[rank]);