diff options
Diffstat (limited to 'src/mongo/db/storage/biggie/store_test.cpp')
-rw-r--r-- | src/mongo/db/storage/biggie/store_test.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mongo/db/storage/biggie/store_test.cpp b/src/mongo/db/storage/biggie/store_test.cpp index c49b8411e52..a61c1fe978f 100644 --- a/src/mongo/db/storage/biggie/store_test.cpp +++ b/src/mongo/db/storage/biggie/store_test.cpp @@ -1709,6 +1709,25 @@ TEST_F(RadixStoreTest, MergeConflictingInsertions) { ASSERT_THROWS(thisStore.merge3(baseStore, otherStore), merge_conflict_exception); } +TEST_F(RadixStoreTest, MergeDifferentLeafNodesSameDataTest) { + baseStore.insert({"a", "a"}); + baseStore.insert({"aa", "a"}); + + otherStore = baseStore; + otherStore.insert({"aaa", "a"}); + otherStore.erase("aaa"); + + thisStore = baseStore; + thisStore.insert({"aab", "b"}); + thisStore.erase("aab"); + + thisStore.merge3(baseStore, otherStore); + + expected.insert({"a", "a"}); + expected.insert({"aa", "a"}); + ASSERT_TRUE(thisStore == expected); +} + TEST_F(RadixStoreTest, UpperBoundTest) { value_type value1 = std::make_pair("foo", "1"); value_type value2 = std::make_pair("bar", "2"); |