// Boost.Geometry (aka GGL, Generic Geometry Library) // Unit Test // Copyright (c) 2020 Digvijay Janartha, Hamirpur, India. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #include #include #include #include #include template bg::model::d2::point_xy create_point_xy() { T t1 = 1; T t2 = 2; return bg::model::d2::point_xy(t1, t2); } template void check_point_xy(P& to_check, T x, T y) { BOOST_CHECK_EQUAL(bg::get<0>(to_check), x); BOOST_CHECK_EQUAL(bg::get<1>(to_check), y); BOOST_CHECK_EQUAL(to_check.x(), x); BOOST_CHECK_EQUAL(to_check.y(), y); } template void test_default_constructor() { bg::model::d2::point_xy p(create_point_xy()); check_point_xy(p, 1, 2); } template void test_copy_constructor() { bg::model::d2::point_xy p(create_point_xy()); check_point_xy(p, 1, 2); } template void test_copy_assignment() { bg::model::d2::point_xy p(create_point_xy()); bg::set<0>(p, 4); bg::set<1>(p, 5); check_point_xy(p, 4, 5); } template void test_all() { test_default_constructor(); test_copy_constructor(); test_copy_assignment(); } int test_main(int, char* []) { test_all(); test_all(); test_all(); return 0; }