2 #include <boost/test/unit_test.hpp> 10 YAML::Node source = YAML::Load(
"{a: 1, b: 2}");
11 YAML::Node target = YAML::Load(
"{a: 3, c: 4}");
14 BOOST_CHECK_EQUAL(target[
"a"].as<std::string>(),
"1");
15 BOOST_CHECK_EQUAL(target[
"b"].as<std::string>(),
"2");
16 BOOST_CHECK_EQUAL(target[
"c"].as<std::string>(),
"4");
23 YAML::Node source = YAML::Load(
"[11, 22, 33, 44]");
24 YAML::Node ss = YAML::Load(
"[0, 1]");
27 auto actual = ss.as<std::vector<int>>();
28 std::vector<int> expected({11, 22, 33, 44});
29 BOOST_CHECK_EQUAL_COLLECTIONS(
30 actual.begin(), actual.end(), expected.begin(), expected.end());
32 YAML::Node ls = YAML::Load(
"[0, 1, 2, 3, 4, 5]");
35 actual = ls.as<std::vector<int>>();
36 expected.assign({11, 22, 33, 44, 4, 5});
37 BOOST_CHECK_EQUAL_COLLECTIONS(
38 actual.begin(), actual.end(), expected.begin(), expected.end());
45 YAML::Node source = YAML::Load(
"[{a: 1}, {b: 2}, {a: 3, b: 3}, {c: 4}]");
46 YAML::Node target = YAML::Load(
"[{}, {a: 11}, {c: 3}]");
49 BOOST_REQUIRE_EQUAL(target.size(), 4);
50 BOOST_CHECK_EQUAL(target[0][
"a"].as<int>(), 1);
51 BOOST_CHECK(not target[0][
"b"].IsDefined());
53 BOOST_CHECK_EQUAL(target[1][
"a"].as<int>(), 11);
54 BOOST_CHECK_EQUAL(target[1][
"b"].as<int>(), 2);
56 BOOST_CHECK_EQUAL(target[2][
"a"].as<int>(), 3);
57 BOOST_CHECK_EQUAL(target[2][
"b"].as<int>(), 3);
58 BOOST_CHECK_EQUAL(target[2][
"c"].as<int>(), 3);
60 BOOST_CHECK(not target[3][
"a"].IsDefined());
61 BOOST_CHECK_EQUAL(target[3][
"c"].as<int>(), 4);
68 YAML::Node source = YAML::Load(
"{l0: {a: 1, b: 2}, l1: [1,2,3]}");
69 YAML::Node target = YAML::Load(
"{l0: {a: 3, c: 4}, l2: [0,0]}");
72 BOOST_CHECK_EQUAL(target[
"l0"][
"a"].as<std::string>(),
"1");
73 BOOST_CHECK_EQUAL(target[
"l0"][
"b"].as<std::string>(),
"2");
74 BOOST_CHECK_EQUAL(target[
"l0"][
"c"].as<std::string>(),
"4");
75 BOOST_CHECK_EQUAL(target[
"l1"][0].as<int>(), 1);
76 BOOST_CHECK_EQUAL(target[
"l1"][1].as<int>(), 2);
77 BOOST_CHECK_EQUAL(target[
"l1"][2].as<int>(), 3);
84 YAML::Node target = YAML::Load(
"{a: 3, c: 4}");
BOOST_AUTO_TEST_CASE(merge_yaml_map)
void merge_node(YAML::Node target, YAML::Node const &source)
Merge two YAML nodes.