MCPcopy Create free account
hub / github.com/boostorg/json / testNumberLiteral

Function testNumberLiteral

test/basic_parser.cpp:1584–1633  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1582 };
1583
1584 void
1585 testNumberLiteral()
1586 {
1587 const auto check =
1588 [](string_view expected)
1589 {
1590 string_view sv = expected;
1591 sv.remove_suffix(1);
1592 for(std::size_t i = 0;
1593 i < sv.size(); ++i)
1594 {
1595 literal_parser p;
1596 system::error_code ec;
1597 if(i != 0)
1598 {
1599 p.write(true,
1600 sv.data(), i, ec);
1601 }
1602 if(BOOST_TEST(! ec))
1603 {
1604 p.write(false,
1605 sv.data() + i,
1606 sv.size() - i, ec);
1607 }
1608 BOOST_TEST(! ec);
1609 BOOST_TEST(p.captured() == expected);
1610 }
1611 };
1612
1613 check("1s");
1614 check("-1s");
1615 check("0s");
1616 check("0s");
1617 check("123456s");
1618 check("-123456s");
1619 check("9223372036854775808u");
1620
1621 check("1.0d");
1622 check("-1.0d");
1623 check("0.0d");
1624 check("1.0e3d");
1625 check("1e1d");
1626 check("1e+1d");
1627 check("1e-1d");
1628 check("-100000000000000000000000d");
1629 check("100000000000000000000000d");
1630 check("10000000000.10000000000000d");
1631 check("-10000000000.10000000000000d");
1632 check("1000000000000000.0e1000000d");
1633 }
1634
1635 void
1636 testStickyErrors()

Callers 1

runFunction · 0.85

Calls 5

checkFunction · 0.85
sizeMethod · 0.45
writeMethod · 0.45
dataMethod · 0.45
capturedMethod · 0.45

Tested by

no test coverage detected