TEST(LongTypeTest, PrintValueTest) { CheckPrintValue(INT64_C(0)); CheckPrintValue(INT64_C(123)); CheckPrintValue(INT64_C(-123)); CheckPrintValue(std::numeric_limits<std::int64_t>::max()); CheckPrintValue(std::numeric_limits<std::int64_t>::min()); }
TEST(FloatTypeTest, PrintValueTest) { // Floats without a fractional part. CheckPrintValue(0.0f); CheckPrintValue(123.0f); CheckPrintValue(-123.0f); // Try with a fractional part. CheckPrintValue(123.456f); CheckPrintValue(-123.456f); // Try with large and small exponents. CheckPrintValue(8.2575e20f); CheckPrintValue(-8.2575e20f); CheckPrintValue(8.2575e-20f); CheckPrintValue(-8.2575e-20f); // Various limits: largest and smallest normalized positive values, smallest // denormalized nonzero value, and largest negative value. CheckPrintValue(std::numeric_limits<float>::max()); CheckPrintValue(std::numeric_limits<float>::min()); CheckPrintValue(std::numeric_limits<float>::denorm_min()); CheckPrintValue(std::numeric_limits<float>::lowest()); }