osrm-backend/test/include/test.hpp
Michael Krasnyk 6bee8866de Squashed 'third_party/vtzero/' content from commit 2b43c8f5c
git-subtree-dir: third_party/vtzero
git-subtree-split: 2b43c8f5c7cc461a874a657673dfc15f8fb21d1d
2018-04-19 22:03:52 +03:00

38 lines
856 B
C++

#ifndef TEST_HPP
#define TEST_HPP
#include <catch.hpp>
#include <stdexcept>
// Define vtzero_assert() to throw this error. This allows the tests to
// check that the assert fails.
struct assert_error : public std::runtime_error {
explicit assert_error(const char* what_arg) : std::runtime_error(what_arg) {
}
};
#define vtzero_assert(x) if (!(x)) { throw assert_error{#x}; }
#define vtzero_assert_in_noexcept_function(x) if (!(x)) { got_an_assert = true; }
extern bool got_an_assert;
#define REQUIRE_ASSERT(x) x; REQUIRE(got_an_assert); got_an_assert = false;
#include <vtzero/output.hpp>
std::string load_test_tile();
struct mypoint {
int64_t p1;
int64_t p2;
};
inline vtzero::point create_vtzero_point(mypoint p) noexcept {
return {static_cast<int32_t>(p.p1),
static_cast<int32_t>(p.p2)};
}
#endif // TEST_HPP