Просмотр исходного кода

test: refine tests for dense_map

skypjack 7 месяцев назад
Родитель
Сommit
8a8f8dfd1b
1 измененных файлов с 11 добавлено и 7 удалено
  1. 11 7
      test/entt/container/dense_map.cpp

+ 11 - 7
test/entt/container/dense_map.cpp

@@ -66,9 +66,6 @@ TEST(DenseMap, Functionalities) {
 
     map.emplace(0, 0);
 
-    ASSERT_EQ(map.at(0), 0); // regular key lookup
-    ASSERT_EQ(map.at(0.0), 0); // transparent key lookup
-
     ASSERT_EQ(map.count(0), 1u);
     ASSERT_EQ(map.count(6.4), 0u);
     ASSERT_EQ(cmap.count(0.0), 1u);
@@ -963,7 +960,7 @@ TEST(DenseMap, EqualRange) {
 }
 
 TEST(DenseMap, Indexing) {
-    entt::dense_map<int, int> map;
+    entt::dense_map<int, int, entt::identity, test::transparent_equal_to> map;
     const auto &cmap = map;
     const auto key = 1;
 
@@ -973,16 +970,23 @@ TEST(DenseMap, Indexing) {
 
     ASSERT_TRUE(map.contains(key));
     ASSERT_EQ(map[int{key}], 3);
-    ASSERT_EQ(cmap.at(key), 3);
+
     ASSERT_EQ(map.at(key), 3);
+    ASSERT_EQ(cmap.at(key), 3);
+
+    ASSERT_EQ(map.at(static_cast<double>(key)), 3);
+    ASSERT_EQ(cmap.at(static_cast<double>(key)), 3);
 }
 
 ENTT_DEBUG_TEST(DenseMapDeathTest, Indexing) {
-    entt::dense_map<int, int> map;
+    entt::dense_map<int, int, entt::identity, test::transparent_equal_to> map;
     const auto &cmap = map;
 
-    ASSERT_DEATH([[maybe_unused]] auto value = cmap.at(0), "");
     ASSERT_DEATH([[maybe_unused]] auto value = map.at(3), "");
+    ASSERT_DEATH([[maybe_unused]] auto value = cmap.at(0), "");
+
+    ASSERT_DEATH([[maybe_unused]] auto value = map.at(3.), "");
+    ASSERT_DEATH([[maybe_unused]] auto value = cmap.at(0.), "");
 }
 
 TEST(DenseMap, LocalIterator) {