From b5c41baef2eb6b24e2ddc1908c6f1666a3679cc1 Mon Sep 17 00:00:00 2001 From: ToruNiina Date: Thu, 20 Apr 2017 10:48:59 +0900 Subject: [PATCH] add test for initializer_list --- tests/test_value.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/test_value.cpp b/tests/test_value.cpp index 1f4be8d..e6483fe 100644 --- a/tests/test_value.cpp +++ b/tests/test_value.cpp @@ -199,3 +199,29 @@ BOOST_AUTO_TEST_CASE(test_value_copy_move_substitution) BOOST_CHECK_EQUAL(v1.cast(), f); BOOST_CHECK_EQUAL(v2.cast(), s); } + +BOOST_AUTO_TEST_CASE(test_value_initializer_list) +{ + toml::value v1{3,1,4,1,5}; + toml::value v2{{"hoge", 1}, {"piyo", 3.14}, {"fuga", "string"}}; + + BOOST_CHECK_EQUAL(v1.type(), toml::value_t::Array); + BOOST_CHECK_EQUAL(v2.type(), toml::value_t::Table); + + const auto& ar = v1.cast(); + BOOST_CHECK_EQUAL(ar.at(0).cast(), 3); + BOOST_CHECK_EQUAL(ar.at(1).cast(), 1); + BOOST_CHECK_EQUAL(ar.at(2).cast(), 4); + BOOST_CHECK_EQUAL(ar.at(3).cast(), 1); + BOOST_CHECK_EQUAL(ar.at(4).cast(), 5); + + const auto& tb = v2.cast(); + + BOOST_CHECK_EQUAL(tb.at("hoge").type(), toml::value_t::Integer); + BOOST_CHECK_EQUAL(tb.at("piyo").type(), toml::value_t::Float); + BOOST_CHECK_EQUAL(tb.at("fuga").type(), toml::value_t::String); + + BOOST_CHECK_EQUAL(tb.at("hoge").cast(), 1); + BOOST_CHECK_CLOSE_FRACTION(tb.at("piyo").cast(), 3.14, 1e-3); + BOOST_CHECK_EQUAL(tb.at("fuga").cast(), "string"); +}