11 #include "eckit/testing/Test.h"
19 using namespace eckit::testing;
24 CASE(
"Test that the numeric limits are what we expect") {
25 EXPECT(std::numeric_limits<int32_t>::max() == 2147483647);
26 EXPECT(std::numeric_limits<int32_t>::min() == -2147483648);
29 CASE(
"Test reading min, max and intermediate values") {
31 SETUP(
"An odb file containing min/max/intermediate values") {
35 TemporaryMinMaxODB() {
39 writer->setNumberOfColumns(2);
44 (*writer)[0] = std::numeric_limits<int32_t>::min();
48 (*writer)[0] = std::numeric_limits<int32_t>::max();
52 (*writer)[0] = std::numeric_limits<int32_t>::min() + std::numeric_limits<int32_t>::max();
58 TemporaryMinMaxODB tmpODB;
60 SECTION(
"Read the values back in") {
65 EXPECT((*it)[0] == std::numeric_limits<int32_t>::min());
68 EXPECT((*it)[0] == std::numeric_limits<int32_t>::max());
71 EXPECT((*it)[0] == std::numeric_limits<int32_t>::max() +
72 std::numeric_limits<int32_t>::min());
80 int main(
int argc,
char* argv[]) {
81 return run_tests(argc, argv);
int main(int argc, char *argv[])
CASE("Test that the numeric limits are what we expect")