From ff42f704a70bc57b2db69f95c2b888dbbab9648d Mon Sep 17 00:00:00 2001 From: Adam Wulkiewicz Date: Mon, 27 Jun 2022 16:43:54 +0200 Subject: [PATCH] [test][simplify] Use const quad/ring in tests instead of a ring derived from vector --- test/algorithms/simplify.cpp | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/test/algorithms/simplify.cpp b/test/algorithms/simplify.cpp index ccedcd9f1..b9237cd1d 100644 --- a/test/algorithms/simplify.cpp +++ b/test/algorithms/simplify.cpp @@ -310,28 +310,37 @@ void test_spherical() template -struct ring : std::vector

+struct quad { - ring(std::initializer_list

l) - : std::vector

(l) + using iterator = P const*; + using const_iterator = P const*; + + quad(P const& p0, P const& p1, P const& p2, P const& p3) + : m_arr{p0, p1, p2, p3, p0} {} + + const_iterator begin() const { return m_arr; } + const_iterator end() const { return m_arr + 5; } + +private: + P m_arr[5]; }; -BOOST_GEOMETRY_REGISTER_RING_TEMPLATED(ring) +BOOST_GEOMETRY_REGISTER_RING_TEMPLATED(quad) void test_different_types() { using point_t = bg::model::d2::point_xy; - using ring_t = ::ring; + using quad_t = ::quad; using bg_ring_t = bg::model::ring; - ring_t ring{{0, 0}, {10, 1}, {20, 2}, {30, 0}, {0, 0}}; + quad_t quad{{0, 0}, {10, 1}, {20, 2}, {30, 0}}; bg_ring_t result; - bg::simplify(ring, result, 0.1); + bg::simplify(quad, result, 0.1); BOOST_CHECK(boost::size(result) == 4); BOOST_CHECK_CLOSE(bg::area(result), 30.0, 0.00001); - using var_t = boost::variant; + using var_t = boost::variant; using bg_var_t = boost::variant; - var_t var = ring; + var_t var = quad; bg_var_t result_var; bg::simplify(var, result_var, 0.1); BOOST_CHECK(bg::num_points(result_var) == 4);