libcruft-util/test/range.cpp

33 lines
1.2 KiB
C++
Raw Normal View History

2011-05-23 17:18:52 +10:00
#include <cstdlib>
#include <limits>
#include "../debug.hpp"
#include "../range.hpp"
using namespace std;
2011-08-29 14:40:05 +10:00
using namespace util;
2011-05-23 17:18:52 +10:00
int
main (int, char **) {
2012-05-11 12:34:21 +10:00
CHECK_HARD ( range<double>::UNIT.contains ( 0.0));
CHECK_HARD ( range<double>::UNIT.contains ( 0.5));
CHECK_HARD ( range<double>::UNIT.contains ( 1.0));
CHECK_HARD (!range<double>::UNIT.contains (-0.00001));
CHECK_HARD (!range<double>::UNIT.contains ( 1.00001));
2011-05-23 17:18:52 +10:00
2012-05-11 12:34:21 +10:00
CHECK_HARD ( range<uint16_t>::UNIT.contains (0));
CHECK_HARD ( range<uint16_t>::UNIT.contains (1));
CHECK_HARD (!range<uint16_t>::UNIT.contains (2));
CHECK_HARD (!range<uint16_t>::UNIT.contains (numeric_limits <uint16_t>::max ()));
2011-05-23 17:18:52 +10:00
2012-05-11 12:34:21 +10:00
CHECK_HARD ( range<double>::UNLIMITED.contains (0.0));
CHECK_HARD ( range<double>::UNLIMITED.contains (+numeric_limits<double>::infinity ()));
CHECK_HARD ( range<double>::UNLIMITED.contains (-numeric_limits<double>::infinity ()));
CHECK_HARD (!range<double>::UNLIMITED.contains ( numeric_limits<double>::quiet_NaN ()));
2011-05-23 17:18:52 +10:00
2012-05-11 12:34:21 +10:00
CHECK_HARD ( range<uint16_t>::UNLIMITED.contains (numeric_limits<uint16_t>::min()));
CHECK_HARD ( range<uint16_t>::UNLIMITED.contains (numeric_limits<uint16_t>::max()));
2011-05-23 17:18:52 +10:00
return EXIT_SUCCESS;
}