make available test functions as macros to allow catch to report correct line numbers
This commit is contained in:
parent
6ad373019d
commit
bba2826813
1 changed files with 24 additions and 17 deletions
|
@ -52,29 +52,36 @@ std::string vector_to_string(std::vector<mapnik::attribute_descriptor> const& ve
|
|||
return s.str();
|
||||
}
|
||||
|
||||
#define REQUIRE_FIELD_NAMES(fields, names) \
|
||||
INFO("fields: " + vector_to_string(fields) + " names: " + vector_to_string(names)); \
|
||||
REQUIRE(fields.size() == names.size()); \
|
||||
auto itr_a = fields.begin(); \
|
||||
auto const end_a = fields.end(); \
|
||||
auto itr_b = names.begin(); \
|
||||
for (; itr_a != end_a; ++itr_a, ++itr_b) \
|
||||
{ \
|
||||
CHECK(itr_a->get_name() == *itr_b); \
|
||||
} \
|
||||
|
||||
inline void require_field_names(std::vector<mapnik::attribute_descriptor> const &fields,
|
||||
std::initializer_list<std::string> const &names)
|
||||
{
|
||||
INFO("fields: " + vector_to_string(fields) + " names: " + vector_to_string(names));
|
||||
REQUIRE(fields.size() == names.size());
|
||||
auto itr_a = fields.begin();
|
||||
auto const end_a = fields.end();
|
||||
auto itr_b = names.begin();
|
||||
for (; itr_a != end_a; ++itr_a, ++itr_b)
|
||||
{
|
||||
CHECK(itr_a->get_name() == *itr_b);
|
||||
}
|
||||
REQUIRE_FIELD_NAMES(fields,names);
|
||||
}
|
||||
|
||||
#define REQUIRE_FIELD_TYPES(fields, types) \
|
||||
REQUIRE(fields.size() == types.size()); \
|
||||
auto itr_a = fields.begin(); \
|
||||
auto const end_a = fields.end(); \
|
||||
auto itr_b = types.begin(); \
|
||||
for (; itr_a != end_a; ++itr_a, ++itr_b) { \
|
||||
CHECK(itr_a->get_type() == *itr_b); \
|
||||
} \
|
||||
|
||||
inline void require_field_types(std::vector<mapnik::attribute_descriptor> const &fields,
|
||||
std::initializer_list<mapnik::eAttributeType> const &types) {
|
||||
REQUIRE(fields.size() == types.size());
|
||||
auto itr_a = fields.begin();
|
||||
auto const end_a = fields.end();
|
||||
auto itr_b = types.begin();
|
||||
for (; itr_a != end_a; ++itr_a, ++itr_b) {
|
||||
CHECK(itr_a->get_type() == *itr_b);
|
||||
}
|
||||
std::initializer_list<mapnik::eAttributeType> const &types)
|
||||
{
|
||||
REQUIRE_FIELD_TYPES(fields, types);
|
||||
}
|
||||
|
||||
inline mapnik::featureset_ptr all_features(mapnik::datasource_ptr ds) {
|
||||
|
|
Loading…
Add table
Reference in a new issue