X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=folly%2Ftest%2FDynamicTest.cpp;h=e043d9142a1842aa7b428ad8d3d299ef5f482d73;hb=be90fbfb2424ba27822e9055283896cefc9eafd2;hp=97af70be462e6df6b3f7f5561e48191f1b323cb3;hpb=84138864d0f593e23c76deb3b9da430cbb0a4ab2;p=folly.git diff --git a/folly/test/DynamicTest.cpp b/folly/test/DynamicTest.cpp index 97af70be..e043d914 100644 --- a/folly/test/DynamicTest.cpp +++ b/folly/test/DynamicTest.cpp @@ -107,18 +107,31 @@ TEST(Dynamic, ObjectBasics) { dynamic mergeObj2 = folly::dynamic::object ("key2", "value3") ("key3", "value4"); - dynamic combinedObj = folly::dynamic::object + + // Merged object where we prefer the values in mergeObj2 + dynamic combinedPreferObj2 = folly::dynamic::object ("key1", "value1") ("key2", "value3") ("key3", "value4"); + + // Merged object where we prefer the values in mergeObj1 + dynamic combinedPreferObj1 = folly::dynamic::object + ("key1", "value1") + ("key2", "value2") + ("key3", "value4"); + auto newMergeObj = dynamic::merge(mergeObj1, mergeObj2); - EXPECT_EQ(newMergeObj, combinedObj); + EXPECT_EQ(newMergeObj, combinedPreferObj2); EXPECT_EQ(mergeObj1, origMergeObj1); // mergeObj1 should be unchanged mergeObj1.update(mergeObj2); - EXPECT_EQ(mergeObj1, combinedObj); + EXPECT_EQ(mergeObj1, combinedPreferObj2); dynamic arr = { 1, 2, 3, 4, 5, 6 }; EXPECT_THROW(mergeObj1.update(arr), std::exception); + + mergeObj1 = origMergeObj1; // reset it + mergeObj1.update_missing(mergeObj2); + EXPECT_EQ(mergeObj1, combinedPreferObj1); } TEST(Dynamic, ObjectErase) {