Change location data method to way:get_location_tags(key)

This commit is contained in:
Michael Krasnyk
2017-09-22 16:14:55 +02:00
parent 0f498d13f5
commit 095b345713
6 changed files with 89 additions and 98 deletions
@@ -50,15 +50,15 @@ BOOST_AUTO_TEST_CASE(polygon_tests)
]})json");
LocationDependentData data(fixture.temporary_file);
BOOST_CHECK(data(point_t(0, 0)).empty());
BOOST_CHECK(!data(point_t(1, 1)).empty());
BOOST_CHECK(!data(point_t(0, 1)).empty());
BOOST_CHECK(!data(point_t(0.5, -0.5)).empty());
BOOST_CHECK(!data(point_t(0, -3)).empty());
BOOST_CHECK(!data(point_t(-0.75, 0.75)).empty());
BOOST_CHECK(!data(point_t(-2, 6)).empty());
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(2, 0))["answer"]), 42.);
BOOST_CHECK_EQUAL(boost::get<bool>(data(point_t(1, 7))["answer"]), true);
BOOST_CHECK_EQUAL(data(point_t(0, 0), "answer").which(), 0);
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(1, 1), "answer")), 42);
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(0, 1), "answer")), 42);
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(0.5, -0.5), "answer")), 42);
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(0, -3), "answer")), 42);
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(-0.75, 0.75), "answer")), 42);
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(2, 0), "answer")), 42.);
BOOST_CHECK_EQUAL(boost::get<bool>(data(point_t(1, 7), "answer")), true);
BOOST_CHECK_EQUAL(boost::get<bool>(data(point_t(-2, 6), "answer")), true);
}
BOOST_AUTO_TEST_CASE(multy_polygon_tests)
@@ -80,11 +80,11 @@ BOOST_AUTO_TEST_CASE(multy_polygon_tests)
]})json");
LocationDependentData data(fixture.temporary_file);
BOOST_CHECK(data(point_t(0, 2)).empty());
BOOST_CHECK(data(point_t(0, -3)).empty());
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(0, 0))["answer"]), 42.);
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(5, 0))["answer"]), 42.);
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(-5, 0))["answer"]), 42.);
BOOST_CHECK_EQUAL(data(point_t(0, 2), "answer").which(), 0);
BOOST_CHECK_EQUAL(data(point_t(0, -3), "answer").which(), 0);
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(0, 0), "answer")), 42.);
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(5, 0), "answer")), 42.);
BOOST_CHECK_EQUAL(boost::get<double>(data(point_t(-5, 0), "answer")), 42.);
}
BOOST_AUTO_TEST_CASE(polygon_merging_tests)
@@ -110,19 +110,19 @@ BOOST_AUTO_TEST_CASE(polygon_merging_tests)
]})json");
LocationDependentData data(fixture.temporary_file);
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(-3, 3))["answer"]), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(-3, 1))["answer"]), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(-3, -3))["answer"]), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(0, 3))["answer"]), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(1, 0))["answer"]), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(2, -3))["answer"]), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(3, 0))["answer"]), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(4, 3))["answer"]), "b");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(6, 1))["answer"]), "b");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(7, 0))["answer"]), "b");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(8, 3))["answer"]), "c");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(8, -1))["answer"]), "c");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(8, -3))["answer"]), "c");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(-3, 3), "answer")), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(-3, 1), "answer")), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(-3, -3), "answer")), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(0, 3), "answer")), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(1, 0), "answer")), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(2, -3), "answer")), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(3, 0), "answer")), "a");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(4, 3), "answer")), "b");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(6, 1), "answer")), "b");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(7, 0), "answer")), "b");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(8, 3), "answer")), "c");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(8, -1), "answer")), "c");
BOOST_CHECK_EQUAL(boost::get<std::string>(data(point_t(8, -3), "answer")), "c");
}
BOOST_AUTO_TEST_CASE(staircase_polygon)
@@ -140,31 +140,31 @@ BOOST_AUTO_TEST_CASE(staircase_polygon)
LocationDependentData data(fixture.temporary_file);
// all corners
BOOST_CHECK(!data(point_t(0, 0)).empty());
BOOST_CHECK(!data(point_t(0, 1)).empty());
BOOST_CHECK(!data(point_t(1, 1)).empty());
BOOST_CHECK(!data(point_t(1, 2)).empty());
BOOST_CHECK(!data(point_t(2, 2)).empty());
BOOST_CHECK(!data(point_t(2, 3)).empty());
BOOST_CHECK(!data(point_t(3, 3)).empty());
BOOST_CHECK(!data(point_t(3, 0)).empty());
BOOST_CHECK_NE(data(point_t(0, 0), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(0, 1), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(1, 1), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(1, 2), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(2, 2), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(2, 3), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(3, 3), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(3, 0), "answer").which(), 0);
// at x = 1
BOOST_CHECK(data(point_t(1, -0.5)).empty());
BOOST_CHECK(!data(point_t(1, 0)).empty());
BOOST_CHECK(!data(point_t(1, 0.5)).empty());
BOOST_CHECK(!data(point_t(1, 1.5)).empty());
BOOST_CHECK(data(point_t(1, 2.5)).empty());
BOOST_CHECK(data(point_t(3.5, 2)).empty());
// // at x = 1
BOOST_CHECK_EQUAL(data(point_t(1, -0.5), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(1, 0), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(1, 0.5), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(1, 1.5), "answer").which(), 0);
BOOST_CHECK_EQUAL(data(point_t(1, 2.5), "answer").which(), 0);
BOOST_CHECK_EQUAL(data(point_t(3.5, 2), "answer").which(), 0);
// at y = 2
BOOST_CHECK(data(point_t(0.5, 2)).empty());
BOOST_CHECK(!data(point_t(1, 2)).empty());
BOOST_CHECK(!data(point_t(1.5, 2)).empty());
BOOST_CHECK(!data(point_t(2, 2)).empty());
BOOST_CHECK(!data(point_t(2.5, 2)).empty());
BOOST_CHECK(!data(point_t(3, 2)).empty());
BOOST_CHECK(data(point_t(3.5, 2)).empty());
// // at y = 2
BOOST_CHECK_EQUAL(data(point_t(0.5, 2), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(1, 2), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(1.5, 2), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(2, 2), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(2.5, 2), "answer").which(), 0);
BOOST_CHECK_NE(data(point_t(3, 2), "answer").which(), 0);
BOOST_CHECK_EQUAL(data(point_t(3.5, 2), "answer").which(), 0);
}
BOOST_AUTO_TEST_SUITE_END()