Home | History | Annotate | Download | only in tests

Lines Matching refs:fn

415 void TestSingleWcsToInt(WcsToIntFn<T> fn, const wchar_t* str, int base,
418 ASSERT_EQ(expected_value, fn(str, &p, base));
423 void TestWcsToInt(WcsToIntFn<T> fn) {
424 TestSingleWcsToInt(fn, L"123", 10, static_cast<T>(123), 3);
425 TestSingleWcsToInt(fn, L"123", 0, static_cast<T>(123), 3);
426 TestSingleWcsToInt(fn, L"123#", 10, static_cast<T>(123), 3);
427 TestSingleWcsToInt(fn, L"01000", 8, static_cast<T>(512), 5);
428 TestSingleWcsToInt(fn, L"01000", 0, static_cast<T>(512), 5);
429 TestSingleWcsToInt(fn, L" 123 45", 0, static_cast<T>(123), 6);
430 TestSingleWcsToInt(fn, L" -123", 0, static_cast<T>(-123), 6);
431 TestSingleWcsToInt(fn, L"0x10000", 0, static_cast<T>(65536), 7);
435 void TestWcsToIntLimits(WcsToIntFn<T> fn, const wchar_t* min_str,
438 ASSERT_EQ(std::numeric_limits<T>::min(), fn(min_str, nullptr, 0)) << min_str;
443 ASSERT_EQ(std::numeric_limits<T>::max(), fn(min_str, nullptr, 0)) << min_str;
445 ASSERT_EQ(std::numeric_limits<T>::max(), fn(max_str, nullptr, 0)) << max_str;
779 void TestSingleWcsToFloat(WcsToFloatFn<T> fn, const wchar_t* str,
782 ASSERT_EQ(expected_value, fn(str, &p));
787 void TestWcsToFloat(WcsToFloatFn<T> fn) {
788 TestSingleWcsToFloat(fn, L"123", static_cast<T>(123.0L), 3);
789 TestSingleWcsToFloat(fn, L"123#", static_cast<T>(123.0L), 3);
790 TestSingleWcsToFloat(fn, L" 123 45", static_cast<T>(123.0L), 6);
791 TestSingleWcsToFloat(fn, L"9.0", static_cast<T>(9.0L), 3);
792 TestSingleWcsToFloat(fn, L"-9.0", static_cast<T>(-9.0L), 4);
793 TestSingleWcsToFloat(fn, L" \t\v\f\r\n9.0", static_cast<T>(9.0L), 9);
797 void TestWcsToFloatHexFloats(WcsToFloatFn<T> fn) {
798 TestSingleWcsToFloat(fn, L"0.9e1", static_cast<T>(9.0L), 5);
799 TestSingleWcsToFloat(fn, L"0x1.2p3", static_cast<T>(9.0L), 7);
800 TestSingleWcsToFloat(fn, L"+1e+100", static_cast<T>(1e100L), 7);
801 TestSingleWcsToFloat(fn, L"0x10000.80", static_cast<T>(65536.50L), 10);
805 void TestWcsToFloatInfNan(WcsToFloatFn<T> fn) {
806 ASSERT_TRUE(isnan(fn(L"+nan", nullptr)));
807 ASSERT_TRUE(isnan(fn(L"nan", nullptr)));
808 ASSERT_TRUE(isnan(fn(L"-nan", nullptr)));
810 ASSERT_TRUE(isnan(fn(L"+nan(0xff)", nullptr)));
811 ASSERT_TRUE(isnan(fn(L"nan(0xff)", nullptr)));
812 ASSERT_TRUE(isnan(fn(L"-nan(0xff)", nullptr)));
815 ASSERT_TRUE(isnan(fn(L"+nanny", &p)));
817 ASSERT_TRUE(isnan(fn(L"nanny", &p)));
819 ASSERT_TRUE(isnan(fn(L"-nanny", &p)));
822 ASSERT_EQ(0, fn(L"muppet", &p));
824 ASSERT_EQ(0, fn(L" muppet", &p));
827 ASSERT_EQ(std::numeric_limits<T>::infinity(), fn(L"+inf", nullptr));
828 ASSERT_EQ(std::numeric_limits<T>::infinity(), fn(L"inf", nullptr));
829 ASSERT_EQ(-std::numeric_limits<T>::infinity(), fn(L"-inf", nullptr));
831 ASSERT_EQ(std::numeric_limits<T>::infinity(), fn(L"+infinity", nullptr));
832 ASSERT_EQ(std::numeric_limits<T>::infinity(), fn(L"infinity", nullptr));
833 ASSERT_EQ(-std::numeric_limits<T>::infinity(), fn(L"-infinity", nullptr));
835 ASSERT_EQ(std::numeric_limits<T>::infinity(), fn(L"+infinitude", &p));
837 ASSERT_EQ(std::numeric_limits<T>::infinity(), fn(L"infinitude", &p));
839 ASSERT_EQ(-std::numeric_limits<T>::infinity(), fn(L"-infinitude", &p));
843 ASSERT_EQ(std::numeric_limits<T>::infinity(), fn(L"InFiNiTy", nullptr));
844 ASSERT_TRUE(isnan(fn(L"NaN", nullptr)));