mirror of
https://github.com/ToruNiina/toml11.git
synced 2025-09-18 02:08:09 +08:00
test: add test case for basic_value::at
This commit is contained in:
@@ -905,3 +905,32 @@ BOOST_AUTO_TEST_CASE(test_value_empty)
|
|||||||
BOOST_CHECK_THROW(v1.as_array(), toml::type_error);
|
BOOST_CHECK_THROW(v1.as_array(), toml::type_error);
|
||||||
BOOST_CHECK_THROW(v1.as_table(), toml::type_error);
|
BOOST_CHECK_THROW(v1.as_table(), toml::type_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(test_value_at)
|
||||||
|
{
|
||||||
|
{
|
||||||
|
toml::value v1{{"foo", 42}, {"bar", 3.14}, {"baz", "qux"}};
|
||||||
|
|
||||||
|
BOOST_TEST(v1.at("foo").as_integer() == 42);
|
||||||
|
BOOST_TEST(v1.at("bar").as_floating() == 3.14);
|
||||||
|
BOOST_TEST(v1.at("baz").as_string() == "qux");
|
||||||
|
|
||||||
|
BOOST_CHECK_THROW(v1.at(0), toml::type_error);
|
||||||
|
BOOST_CHECK_THROW(v1.at("quux"), std::out_of_range);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
toml::value v1{1,2,3,4,5};
|
||||||
|
|
||||||
|
BOOST_TEST(v1.at(0).as_integer() == 1);
|
||||||
|
BOOST_TEST(v1.at(1).as_integer() == 2);
|
||||||
|
BOOST_TEST(v1.at(2).as_integer() == 3);
|
||||||
|
BOOST_TEST(v1.at(3).as_integer() == 4);
|
||||||
|
BOOST_TEST(v1.at(4).as_integer() == 5);
|
||||||
|
|
||||||
|
BOOST_CHECK_THROW(v1.at("foo"), toml::type_error);
|
||||||
|
BOOST_CHECK_THROW(v1.at(5), std::out_of_range);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user