#include #include #include using namespace mbgl; TEST(Math, ClampFloatingPoint) { double lowestValue = std::numeric_limits::lowest(); double maximumValue = std::numeric_limits::max(); double quietNAN = std::numeric_limits::quiet_NaN(); ASSERT_DOUBLE_EQ(0., util::clamp(0., quietNAN, quietNAN)); ASSERT_DOUBLE_EQ(0., util::clamp(0., lowestValue, maximumValue)); } TEST(Math, ClampIntegral) { int32_t lowestValue = std::numeric_limits::lowest(); int32_t maximumValue = std::numeric_limits::max(); int32_t quietNAN = std::numeric_limits::quiet_NaN(); ASSERT_EQ(0, util::clamp(0, quietNAN, quietNAN)); ASSERT_EQ(0, util::clamp(0, lowestValue, maximumValue)); }