Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-10-12 16:10:01 +0300
committerJacques Lucke <jacques@blender.org>2020-10-12 16:10:08 +0300
commitdb8a856a747042b6a544f4dc778219dcaaf6540f (patch)
tree48bf4fbb241db95496c5bb418a909e19ca1f4735 /source/blender/blenlib/tests
parent662c0ac970b3fe9fd63105f9ff1f2bb2553378f4 (diff)
BLI: support looking up a key from a set or adding it when not existant
Diffstat (limited to 'source/blender/blenlib/tests')
-rw-r--r--source/blender/blenlib/tests/BLI_set_test.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/blenlib/tests/BLI_set_test.cc b/source/blender/blenlib/tests/BLI_set_test.cc
index bf49bfb611b..dbe820c9d15 100644
--- a/source/blender/blenlib/tests/BLI_set_test.cc
+++ b/source/blender/blenlib/tests/BLI_set_test.cc
@@ -453,6 +453,20 @@ TEST(set, LookupKeyPtr)
EXPECT_EQ(set.lookup_key_ptr({3, 50}), nullptr);
}
+TEST(set, LookupKeyOrAdd)
+{
+ Set<MyKeyType> set;
+ set.add({1, 10});
+ set.add({2, 20});
+ EXPECT_EQ(set.size(), 2);
+ EXPECT_EQ(set.lookup_key_or_add({2, 40}).attached_data, 20);
+ EXPECT_EQ(set.size(), 2);
+ EXPECT_EQ(set.lookup_key_or_add({3, 40}).attached_data, 40);
+ EXPECT_EQ(set.size(), 3);
+ EXPECT_EQ(set.lookup_key_or_add({3, 60}).attached_data, 40);
+ EXPECT_EQ(set.size(), 3);
+}
+
TEST(set, StringViewKeys)
{
Set<std::string_view> set;