MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / toBigNumber

Method toBigNumber

test/testmathlib.cpp:253–425  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

251 }
252
253 void toBigNumber() const {
254 // zero input
255 ASSERT_EQUALS(0, MathLib::toBigNumber("0"));
256 ASSERT_EQUALS(0, MathLib::toBigNumber("-0"));
257 ASSERT_EQUALS(0, MathLib::toBigNumber("+0"));
258 ASSERT_EQUALS(0, MathLib::toBigNumber("0L"));
259 ASSERT_EQUALS(0, MathLib::toBigNumber("0l"));
260 ASSERT_EQUALS(0, MathLib::toBigNumber("0LL"));
261 ASSERT_EQUALS(0, MathLib::toBigNumber("0ll"));
262 ASSERT_EQUALS(0, MathLib::toBigNumber("0U"));
263 ASSERT_EQUALS(0, MathLib::toBigNumber("0u"));
264 ASSERT_EQUALS(0, MathLib::toBigNumber("0UL"));
265 ASSERT_EQUALS(0, MathLib::toBigNumber("0ul"));
266 ASSERT_EQUALS(0, MathLib::toBigNumber("0ULL"));
267 ASSERT_EQUALS(0, MathLib::toBigNumber("0ull"));
268 ASSERT_EQUALS(0, MathLib::toBigNumber("0i64")); // Visual Studio-specific
269 ASSERT_EQUALS(0, MathLib::toBigNumber("0ui64")); // Visual Studio-specific
270
271 // TODO: needs to fail
272 //ASSERT_EQUALS(0, MathLib::toBigNumber("0lll"));
273 //ASSERT_EQUALS(0, MathLib::toBigNumber("0uu"));
274
275 ASSERT_EQUALS(1U, MathLib::toBigNumber("1U"));
276 ASSERT_EQUALS(10000U, MathLib::toBigNumber("1e4"));
277 ASSERT_EQUALS(10000U, MathLib::toBigNumber("1e4"));
278 ASSERT_EQUALS(0xFF00000000000000UL, MathLib::toBigNumber("0xFF00000000000000UL"));
279 ASSERT_EQUALS(0x0A00000000000000UL, MathLib::toBigNumber("0x0A00000000000000UL"));
280
281 // from hex
282 ASSERT_EQUALS(0, MathLib::toBigNumber("0x0"));
283 ASSERT_EQUALS(0, MathLib::toBigNumber("-0x0"));
284 ASSERT_EQUALS(0, MathLib::toBigNumber("+0x0"));
285 ASSERT_EQUALS(10, MathLib::toBigNumber("0xa"));
286 ASSERT_EQUALS(10995, MathLib::toBigNumber("0x2AF3"));
287 ASSERT_EQUALS(-10, MathLib::toBigNumber("-0xa"));
288 ASSERT_EQUALS(-10995, MathLib::toBigNumber("-0x2AF3"));
289 ASSERT_EQUALS(10, MathLib::toBigNumber("+0xa"));
290 ASSERT_EQUALS(10995, MathLib::toBigNumber("+0x2AF3"));
291
292 // from octal
293 ASSERT_EQUALS(8, MathLib::toBigNumber("010"));
294 ASSERT_EQUALS(8, MathLib::toBigNumber("+010"));
295 ASSERT_EQUALS(-8, MathLib::toBigNumber("-010"));
296 ASSERT_EQUALS(125, MathLib::toBigNumber("0175"));
297 ASSERT_EQUALS(125, MathLib::toBigNumber("+0175"));
298 ASSERT_EQUALS(-125, MathLib::toBigNumber("-0175"));
299
300 // from binary
301 ASSERT_EQUALS(0, MathLib::toBigNumber("0b0"));
302 ASSERT_EQUALS(1, MathLib::toBigNumber("0b1"));
303 ASSERT_EQUALS(1, MathLib::toBigNumber("0b1U"));
304 ASSERT_EQUALS(1, MathLib::toBigNumber("0b1L"));
305 ASSERT_EQUALS(1, MathLib::toBigNumber("0b1LU"));
306 ASSERT_EQUALS(1, MathLib::toBigNumber("0b1LL"));
307 ASSERT_EQUALS(1, MathLib::toBigNumber("0b1LLU"));
308 ASSERT_EQUALS(1, MathLib::toBigNumber("+0b1"));
309 ASSERT_EQUALS(-1, MathLib::toBigNumber("-0b1"));
310 ASSERT_EQUALS(9U, MathLib::toBigNumber("011"));

Callers

nothing calls this directly

Calls 2

appendFileIfNewMethod · 0.80
strMethod · 0.45

Tested by

no test coverage detected