diff options
Diffstat (limited to 'source/blender/blenlib/tests/BLI_map_test.cc')
-rw-r--r-- | source/blender/blenlib/tests/BLI_map_test.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/blenlib/tests/BLI_map_test.cc b/source/blender/blenlib/tests/BLI_map_test.cc index 323ced87d9e..70c1887a527 100644 --- a/source/blender/blenlib/tests/BLI_map_test.cc +++ b/source/blender/blenlib/tests/BLI_map_test.cc @@ -565,6 +565,28 @@ TEST(map, AddOrModifyExceptions) EXPECT_ANY_THROW({ map.add_or_modify(3, create_fn, modify_fn); }); } +namespace { +enum class TestEnum { + A = 0, + B = 1, + C = 2, + D = 1, +}; +} + +TEST(map, EnumKey) +{ + Map<TestEnum, int> map; + map.add(TestEnum::A, 4); + map.add(TestEnum::B, 6); + EXPECT_EQ(map.lookup(TestEnum::A), 4); + EXPECT_EQ(map.lookup(TestEnum::B), 6); + EXPECT_EQ(map.lookup(TestEnum::D), 6); + EXPECT_FALSE(map.contains(TestEnum::C)); + map.lookup(TestEnum::D) = 10; + EXPECT_EQ(map.lookup(TestEnum::B), 10); +} + /** * Set this to 1 to activate the benchmark. It is disabled by default, because it prints a lot. */ |