MCPcopy Create free account
hub / github.com/bytedance/sonic-cpp / TEST

Function TEST

tests/parsenumber_test.cpp:77–120  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

75}
76
77TEST(ParserTest, ParseNumber) {
78 TestParseUnsigned(0ULL, "0");
79 TestParseUnsigned(123ULL, "123");
80 TestParseUnsigned(9223372036854775807ULL,
81 "9223372036854775807"); // LLONG_MAX
82 TestParseUnsigned(18446744073709551615ULL,
83 "18446744073709551615"); // ULLONG_MAX
84
85 TestParseSigned(-1LL, "-1");
86 TestParseSigned(-123LL, "-123");
87 TestParseSigned(-9223372036854775808ULL,
88 "-9223372036854775808"); // LLONG_MIN
89
90 TestParseDouble(-0.0, "-0.0");
91 TestParseDouble(0.0, "0.0");
92 TestParseDouble(0.1, "0.1");
93 TestParseDouble(0.01, "0.01");
94 TestParseDouble(-0.001, "-0.001");
95 TestParseDouble(1e-6, "0.000001");
96 TestParseDouble(-1.0, "-1.0");
97 TestParseDouble(1.0, "1.00");
98 TestParseDouble(-1.0, "-1.000");
99 TestParseDouble(-1.1, "-1.1");
100 TestParseDouble(10.1, "10.1");
101 TestParseDouble(1000.0001, "1000.0001");
102 TestParseDouble(-123e0, "-123e0");
103 TestParseDouble(-0.0e+0, "-0.0e+0");
104 TestParseDouble(1.23e-99, "1.23e-99");
105 TestParseDouble(5.70899e+45, "5.70899e+45");
106 TestParseDouble(1.01412e+31, "1.01412e+31");
107 TestParseDouble(35184372088832.00390625, "35184372088832.00390625");
108 TestParseDouble(72057594037927935E0, "72057594037927935E0");
109 TestParseDouble(0.12345678901234567, "0.12345678901234567");
110 TestParseDouble(
111 18446744073709551616.0,
112 "18446744073709551616"); // ULLONG_MAX + 1, should overflow into double
113 TestParseDouble(
114 -9223372036854775809.0,
115 "-9223372036854775809"); // LLONG_MIN - 1, should overflow into double
116 TestParseDouble(0.0, "123e-100000");
117 TestParseDouble(1234567890123456789012345.0, "1234567890123456789012345");
118 TestParseDouble(-1234567890123456789012345.0, "-1234567890123456789012345");
119 TestParseDouble(-1234567890123456789012345.0, "-1234567890123456789012345");
120}
121
122void ParseFloatInFiles() {
123 std::vector<std::string> files = {"./testdata/num/float-1.txt",

Callers

nothing calls this directly

Calls 6

TestParseUnsignedFunction · 0.85
TestParseSignedFunction · 0.85
TestParseDoubleFunction · 0.85
ParseFloatInFilesFunction · 0.85
TestParseInfFunction · 0.85
TestParseInvalFunction · 0.85

Tested by

no test coverage detected