diff options
author | Jacques Lucke <jacques@blender.org> | 2020-10-12 16:10:01 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-10-12 16:10:08 +0300 |
commit | db8a856a747042b6a544f4dc778219dcaaf6540f (patch) | |
tree | 48bf4fbb241db95496c5bb418a909e19ca1f4735 /source/blender/blenlib/tests | |
parent | 662c0ac970b3fe9fd63105f9ff1f2bb2553378f4 (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.cc | 14 |
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; |