datasource tests: use macro REQUIRE_ATTRIBUTES instead of function
- failing checks report location inside the function, not where it's called from; using macro reports proper location
This commit is contained in:
parent
fa0d4c923f
commit
93c379820e
2 changed files with 26 additions and 31 deletions
|
@ -241,7 +241,7 @@ TEST_CASE("csv") {
|
||||||
auto features = ds->features(query);
|
auto features = ds->features(query);
|
||||||
auto feature = features->next();
|
auto feature = features->next();
|
||||||
|
|
||||||
require_attributes(feature, {
|
REQUIRE_ATTRIBUTES(feature, {
|
||||||
attr { lon_name, mapnik::value_integer(0) },
|
attr { lon_name, mapnik::value_integer(0) },
|
||||||
attr { "lat", mapnik::value_integer(0) }
|
attr { "lat", mapnik::value_integer(0) }
|
||||||
});
|
});
|
||||||
|
@ -298,8 +298,8 @@ TEST_CASE("csv") {
|
||||||
, attr { "geo_longitude", mapnik::value_integer(-70) }
|
, attr { "geo_longitude", mapnik::value_integer(-70) }
|
||||||
, attr { "geo_latitude", mapnik::value_integer(40) }
|
, attr { "geo_latitude", mapnik::value_integer(40) }
|
||||||
};
|
};
|
||||||
require_attributes(feature, expected_attr);
|
REQUIRE_ATTRIBUTES(feature, expected_attr);
|
||||||
require_attributes(feature2, expected_attr);
|
REQUIRE_ATTRIBUTES(feature2, expected_attr);
|
||||||
if (mapnik::util::exists(filepath + ".index"))
|
if (mapnik::util::exists(filepath + ".index"))
|
||||||
{
|
{
|
||||||
mapnik::util::remove(filepath + ".index");
|
mapnik::util::remove(filepath + ".index");
|
||||||
|
@ -367,7 +367,7 @@ TEST_CASE("csv") {
|
||||||
|
|
||||||
auto featureset = all_features(ds);
|
auto featureset = all_features(ds);
|
||||||
auto feature = featureset->next();
|
auto feature = featureset->next();
|
||||||
require_attributes(feature, {
|
REQUIRE_ATTRIBUTES(feature, {
|
||||||
attr { "x", mapnik::value_integer(0) }
|
attr { "x", mapnik::value_integer(0) }
|
||||||
, attr { "empty_column", mapnik::value_unicode_string("") }
|
, attr { "empty_column", mapnik::value_unicode_string("") }
|
||||||
, attr { "text", mapnik::value_unicode_string("a b") }
|
, attr { "text", mapnik::value_unicode_string("a b") }
|
||||||
|
@ -416,15 +416,15 @@ TEST_CASE("csv") {
|
||||||
require_field_types(fields, {mapnik::Integer, mapnik::Integer, mapnik::String});
|
require_field_types(fields, {mapnik::Integer, mapnik::Integer, mapnik::String});
|
||||||
|
|
||||||
auto featureset = all_features(ds);
|
auto featureset = all_features(ds);
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 0}
|
attr{"x", 0}
|
||||||
, attr{"y", 0}
|
, attr{"y", 0}
|
||||||
, attr{"name", mapnik::value_unicode_string("a/a") } });
|
, attr{"name", mapnik::value_unicode_string("a/a") } });
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 1}
|
attr{"x", 1}
|
||||||
, attr{"y", 4}
|
, attr{"y", 4}
|
||||||
, attr{"name", mapnik::value_unicode_string("b/b") } });
|
, attr{"name", mapnik::value_unicode_string("b/b") } });
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 10}
|
attr{"x", 10}
|
||||||
, attr{"y", 2.5}
|
, attr{"y", 2.5}
|
||||||
, attr{"name", mapnik::value_unicode_string("c/c") } });
|
, attr{"name", mapnik::value_unicode_string("c/c") } });
|
||||||
|
@ -531,7 +531,7 @@ TEST_CASE("csv") {
|
||||||
auto fields = ds->get_descriptor().get_descriptors();
|
auto fields = ds->get_descriptor().get_descriptors();
|
||||||
require_field_names(fields, {"x", "y", "1990", "1991", "1992"});
|
require_field_names(fields, {"x", "y", "1990", "1991", "1992"});
|
||||||
auto feature = all_features(ds)->next();
|
auto feature = all_features(ds)->next();
|
||||||
require_attributes(feature, {
|
REQUIRE_ATTRIBUTES(feature, {
|
||||||
attr{"x", 0}
|
attr{"x", 0}
|
||||||
, attr{"y", 0}
|
, attr{"y", 0}
|
||||||
, attr{"1990", 1}
|
, attr{"1990", 1}
|
||||||
|
@ -575,15 +575,15 @@ TEST_CASE("csv") {
|
||||||
require_field_names(fields, {"x", "y", "label"});
|
require_field_names(fields, {"x", "y", "label"});
|
||||||
auto featureset = all_features(ds);
|
auto featureset = all_features(ds);
|
||||||
|
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 0}, attr{"y", 0}, attr{"label", ustring("0,0") } });
|
attr{"x", 0}, attr{"y", 0}, attr{"label", ustring("0,0") } });
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 5}, attr{"y", 5}, attr{"label", ustring("5,5") } });
|
attr{"x", 5}, attr{"y", 5}, attr{"label", ustring("5,5") } });
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 0}, attr{"y", 5}, attr{"label", ustring("0,5") } });
|
attr{"x", 0}, attr{"y", 5}, attr{"label", ustring("0,5") } });
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 5}, attr{"y", 0}, attr{"label", ustring("5,0") } });
|
attr{"x", 5}, attr{"y", 0}, attr{"label", ustring("5,0") } });
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 2.5}, attr{"y", 2.5}, attr{"label", ustring("2.5,2.5") } });
|
attr{"x", 2.5}, attr{"y", 2.5}, attr{"label", ustring("2.5,2.5") } });
|
||||||
if (mapnik::util::exists(filename + ".index"))
|
if (mapnik::util::exists(filename + ".index"))
|
||||||
{
|
{
|
||||||
|
@ -615,7 +615,7 @@ TEST_CASE("csv") {
|
||||||
auto ds = get_csv_ds(filename);
|
auto ds = get_csv_ds(filename);
|
||||||
auto fields = ds->get_descriptor().get_descriptors();
|
auto fields = ds->get_descriptor().get_descriptors();
|
||||||
require_field_names(fields, {"x", "y", "z"});
|
require_field_names(fields, {"x", "y", "z"});
|
||||||
require_attributes(all_features(ds)->next(), {
|
REQUIRE_ATTRIBUTES(all_features(ds)->next(), {
|
||||||
attr{"x", 1}, attr{"y", 10}, attr{"z", 9999.9999} });
|
attr{"x", 1}, attr{"y", 10}, attr{"z", 9999.9999} });
|
||||||
if (mapnik::util::exists(filename + ".index"))
|
if (mapnik::util::exists(filename + ".index"))
|
||||||
{
|
{
|
||||||
|
@ -653,7 +653,7 @@ TEST_CASE("csv") {
|
||||||
auto ds = get_csv_ds(filename);
|
auto ds = get_csv_ds(filename);
|
||||||
auto fields = ds->get_descriptor().get_descriptors();
|
auto fields = ds->get_descriptor().get_descriptors();
|
||||||
require_field_names(fields, {"x", "y", "line"});
|
require_field_names(fields, {"x", "y", "line"});
|
||||||
require_attributes(all_features(ds)->next(), {
|
REQUIRE_ATTRIBUTES(all_features(ds)->next(), {
|
||||||
attr{"x", 0}, attr{"y", 0}
|
attr{"x", 0}, attr{"y", 0}
|
||||||
, attr{"line", ustring("many\n lines\n of text\n with unix newlines")} });
|
, attr{"line", ustring("many\n lines\n of text\n with unix newlines")} });
|
||||||
if (mapnik::util::exists(filename + ".index"))
|
if (mapnik::util::exists(filename + ".index"))
|
||||||
|
@ -684,7 +684,7 @@ TEST_CASE("csv") {
|
||||||
auto ds = get_csv_ds(filename);
|
auto ds = get_csv_ds(filename);
|
||||||
auto fields = ds->get_descriptor().get_descriptors();
|
auto fields = ds->get_descriptor().get_descriptors();
|
||||||
require_field_names(fields, {"x", "y", "z"});
|
require_field_names(fields, {"x", "y", "z"});
|
||||||
require_attributes(all_features(ds)->next(), {
|
REQUIRE_ATTRIBUTES(all_features(ds)->next(), {
|
||||||
attr{"x", -122}, attr{"y", 48}, attr{"z", 0} });
|
attr{"x", -122}, attr{"y", 48}, attr{"z", 0} });
|
||||||
if (mapnik::util::exists(filename + ".index"))
|
if (mapnik::util::exists(filename + ".index"))
|
||||||
{
|
{
|
||||||
|
@ -719,7 +719,7 @@ TEST_CASE("csv") {
|
||||||
auto ds = get_csv_ds(filename);
|
auto ds = get_csv_ds(filename);
|
||||||
auto fields = ds->get_descriptor().get_descriptors();
|
auto fields = ds->get_descriptor().get_descriptors();
|
||||||
require_field_names(fields, {"x", "y", "z"});
|
require_field_names(fields, {"x", "y", "z"});
|
||||||
require_attributes(all_features(ds)->next(), {
|
REQUIRE_ATTRIBUTES(all_features(ds)->next(), {
|
||||||
attr{"x", 0}, attr{"y", 0}, attr{"z", ustring("hello")} });
|
attr{"x", 0}, attr{"y", 0}, attr{"z", ustring("hello")} });
|
||||||
if (mapnik::util::exists(filename + ".index"))
|
if (mapnik::util::exists(filename + ".index"))
|
||||||
{
|
{
|
||||||
|
@ -754,9 +754,9 @@ TEST_CASE("csv") {
|
||||||
require_field_types(fields, {mapnik::Integer, mapnik::Integer, mapnik::String, mapnik::Boolean});
|
require_field_types(fields, {mapnik::Integer, mapnik::Integer, mapnik::String, mapnik::Boolean});
|
||||||
|
|
||||||
auto featureset = all_features(ds);
|
auto featureset = all_features(ds);
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 0}, attr{"y", 0}, attr{"null", ustring("null")}, attr{"boolean", true}});
|
attr{"x", 0}, attr{"y", 0}, attr{"null", ustring("null")}, attr{"boolean", true}});
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 0}, attr{"y", 0}, attr{"null", ustring("")}, attr{"boolean", false}});
|
attr{"x", 0}, attr{"y", 0}, attr{"null", ustring("")}, attr{"boolean", false}});
|
||||||
|
|
||||||
if (mapnik::util::exists(filename + ".index"))
|
if (mapnik::util::exists(filename + ".index"))
|
||||||
|
@ -829,11 +829,11 @@ TEST_CASE("csv") {
|
||||||
require_field_types(fields, {mapnik::Integer, mapnik::Integer, mapnik::String});
|
require_field_types(fields, {mapnik::Integer, mapnik::Integer, mapnik::String});
|
||||||
|
|
||||||
auto featureset = all_features(ds);
|
auto featureset = all_features(ds);
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 0}, attr{"y", 0}, attr{"fips", ustring("001")}});
|
attr{"x", 0}, attr{"y", 0}, attr{"fips", ustring("001")}});
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 0}, attr{"y", 0}, attr{"fips", ustring("003")}});
|
attr{"x", 0}, attr{"y", 0}, attr{"fips", ustring("003")}});
|
||||||
require_attributes(featureset->next(), {
|
REQUIRE_ATTRIBUTES(featureset->next(), {
|
||||||
attr{"x", 0}, attr{"y", 0}, attr{"fips", ustring("005")}});
|
attr{"x", 0}, attr{"y", 0}, attr{"fips", ustring("005")}});
|
||||||
if (mapnik::util::exists(filename + ".index"))
|
if (mapnik::util::exists(filename + ".index"))
|
||||||
{
|
{
|
||||||
|
@ -990,7 +990,7 @@ TEST_CASE("csv") {
|
||||||
auto fields = ds->get_descriptor().get_descriptors();
|
auto fields = ds->get_descriptor().get_descriptors();
|
||||||
require_field_names(fields, {"x", "y", "name"});
|
require_field_names(fields, {"x", "y", "name"});
|
||||||
require_field_types(fields, {mapnik::Integer, mapnik::Integer, mapnik::String});
|
require_field_types(fields, {mapnik::Integer, mapnik::Integer, mapnik::String});
|
||||||
require_attributes(all_features(ds)->next(), {
|
REQUIRE_ATTRIBUTES(all_features(ds)->next(), {
|
||||||
attr{"x", 0}, attr{"y", 0}, attr{"name", ustring("data_name")} });
|
attr{"x", 0}, attr{"y", 0}, attr{"name", ustring("data_name")} });
|
||||||
REQUIRE(count_features(all_features(ds)) == r.second);
|
REQUIRE(count_features(all_features(ds)) == r.second);
|
||||||
CHECK(ds->get_geometry_type() == mapnik::datasource_geometry_t::Point);
|
CHECK(ds->get_geometry_type() == mapnik::datasource_geometry_t::Point);
|
||||||
|
@ -1007,13 +1007,13 @@ TEST_CASE("csv") {
|
||||||
|
|
||||||
auto fs = all_features(ds);
|
auto fs = all_features(ds);
|
||||||
auto feature = fs->next();
|
auto feature = fs->next();
|
||||||
require_attributes(feature, {
|
REQUIRE_ATTRIBUTES(feature, {
|
||||||
attr{"x", 0}, attr{"y", 0}, attr{"bigint", 2147483648} });
|
attr{"x", 0}, attr{"y", 0}, attr{"bigint", 2147483648} });
|
||||||
|
|
||||||
feature = fs->next();
|
feature = fs->next();
|
||||||
require_attributes(feature, {
|
REQUIRE_ATTRIBUTES(feature, {
|
||||||
attr{"x", 0}, attr{"y", 0}, attr{"bigint", 9223372036854775807ll} });
|
attr{"x", 0}, attr{"y", 0}, attr{"bigint", 9223372036854775807ll} });
|
||||||
require_attributes(feature, {
|
REQUIRE_ATTRIBUTES(feature, {
|
||||||
attr{"x", 0}, attr{"y", 0}, attr{"bigint", 0x7FFFFFFFFFFFFFFFll} });
|
attr{"x", 0}, attr{"y", 0}, attr{"bigint", 0x7FFFFFFFFFFFFFFFll} });
|
||||||
} // END SECTION
|
} // END SECTION
|
||||||
#pragma GCC diagnostic pop
|
#pragma GCC diagnostic pop
|
||||||
|
|
|
@ -122,11 +122,6 @@ using attr = std::tuple<std::string, mapnik::value>;
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
inline void require_attributes(mapnik::feature_ptr feature,
|
|
||||||
std::initializer_list<attr> const &attrs) {
|
|
||||||
REQUIRE_ATTRIBUTES(feature, attrs);
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
struct feature_count {
|
struct feature_count {
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
|
Loading…
Reference in a new issue