Quellcode durchsuchen

test: minor changes

Michele Caini vor 2 Jahren
Ursprung
Commit
76a6a22527
1 geänderte Dateien mit 86 neuen und 37 gelöschten Zeilen
  1. 86 37
      test/entt/entity/registry.cpp

+ 86 - 37
test/entt/entity/registry.cpp

@@ -2098,7 +2098,7 @@ TEST(Registry, Storage) {
     entt::registry registry;
     const auto entity = registry.create();
 
-    auto &storage = registry.storage<int>("int"_hs);
+    auto &storage = registry.storage<int>("other"_hs);
     storage.emplace(entity);
 
     for(auto [id, pool]: registry.storage()) {
@@ -2107,8 +2107,18 @@ TEST(Registry, Storage) {
 
         ASSERT_TRUE(pool.contains(entity));
         ASSERT_EQ(std::addressof(storage), std::addressof(pool));
-        ASSERT_EQ(id, "int"_hs);
+        ASSERT_EQ(id, "other"_hs);
     }
+}
+
+TEST(Registry, ConstStorage) {
+    using namespace entt::literals;
+
+    entt::registry registry;
+    const auto entity = registry.create();
+
+    auto &storage = registry.storage<int>("other"_hs);
+    storage.emplace(entity);
 
     for(auto &&curr: std::as_const(registry).storage()) {
         testing::StaticAssertTypeEq<decltype(curr.second), const entt::sparse_set &>();
@@ -2116,7 +2126,7 @@ TEST(Registry, Storage) {
 
         ASSERT_TRUE(curr.second.contains(entity));
         ASSERT_EQ(std::addressof(storage), std::addressof(curr.second));
-        ASSERT_EQ(curr.first, "int"_hs);
+        ASSERT_EQ(curr.first, "other"_hs);
     }
 }
 
@@ -2125,54 +2135,93 @@ TEST(Registry, RegistryStorageIterator) {
     const auto entity = registry.create();
     registry.emplace<int>(entity);
 
-    auto test = [entity](auto iterable) {
-        auto end{iterable.begin()};
-        decltype(end) begin{};
-        begin = iterable.end();
-        std::swap(begin, end);
+    auto iterable = registry.storage();
+
+    auto end{iterable.begin()};
+    decltype(end) begin{};
+    begin = iterable.end();
+    std::swap(begin, end);
+
+    ASSERT_EQ(begin, iterable.cbegin());
+    ASSERT_EQ(end, iterable.cend());
+    ASSERT_NE(begin, end);
+
+    ASSERT_EQ(begin++, iterable.begin());
+    ASSERT_EQ(begin--, iterable.end());
+
+    ASSERT_EQ(begin + 1, iterable.end());
+    ASSERT_EQ(end - 1, iterable.begin());
 
-        ASSERT_EQ(begin, iterable.cbegin());
-        ASSERT_EQ(end, iterable.cend());
-        ASSERT_NE(begin, end);
+    ASSERT_EQ(++begin, iterable.end());
+    ASSERT_EQ(--begin, iterable.begin());
+
+    ASSERT_EQ(begin += 1, iterable.end());
+    ASSERT_EQ(begin -= 1, iterable.begin());
+
+    ASSERT_EQ(begin + (end - begin), iterable.end());
+    ASSERT_EQ(begin - (begin - end), iterable.end());
+
+    ASSERT_EQ(end - (end - begin), iterable.begin());
+    ASSERT_EQ(end + (begin - end), iterable.begin());
+
+    ASSERT_EQ(begin[0u].first, iterable.begin()->first);
+    ASSERT_EQ(std::addressof(begin[0u].second), std::addressof((*iterable.begin()).second));
+
+    ASSERT_LT(begin, end);
+    ASSERT_LE(begin, iterable.begin());
+
+    ASSERT_GT(end, begin);
+    ASSERT_GE(end, iterable.end());
+
+    ASSERT_EQ(begin[0u].first, entt::type_id<int>().hash());
+    ASSERT_TRUE(begin[0u].second.contains(entity));
+}
+
+TEST(Registry, RegistryConstStorageIterator) {
+    entt::registry registry;
+    const auto entity = registry.create();
+    registry.emplace<int>(entity);
 
-        ASSERT_EQ(begin++, iterable.begin());
-        ASSERT_EQ(begin--, iterable.end());
+    auto iterable = std::as_const(registry).storage();
 
-        ASSERT_EQ(begin + 1, iterable.end());
-        ASSERT_EQ(end - 1, iterable.begin());
+    auto end{iterable.begin()};
+    decltype(end) begin{};
+    begin = iterable.end();
+    std::swap(begin, end);
 
-        ASSERT_EQ(++begin, iterable.end());
-        ASSERT_EQ(--begin, iterable.begin());
+    ASSERT_EQ(begin, iterable.cbegin());
+    ASSERT_EQ(end, iterable.cend());
+    ASSERT_NE(begin, end);
 
-        ASSERT_EQ(begin += 1, iterable.end());
-        ASSERT_EQ(begin -= 1, iterable.begin());
+    ASSERT_EQ(begin++, iterable.begin());
+    ASSERT_EQ(begin--, iterable.end());
 
-        ASSERT_EQ(begin + (end - begin), iterable.end());
-        ASSERT_EQ(begin - (begin - end), iterable.end());
+    ASSERT_EQ(begin + 1, iterable.end());
+    ASSERT_EQ(end - 1, iterable.begin());
 
-        ASSERT_EQ(end - (end - begin), iterable.begin());
-        ASSERT_EQ(end + (begin - end), iterable.begin());
+    ASSERT_EQ(++begin, iterable.end());
+    ASSERT_EQ(--begin, iterable.begin());
 
-        ASSERT_EQ(begin[0u].first, iterable.begin()->first);
-        ASSERT_EQ(std::addressof(begin[0u].second), std::addressof((*iterable.begin()).second));
+    ASSERT_EQ(begin += 1, iterable.end());
+    ASSERT_EQ(begin -= 1, iterable.begin());
 
-        ASSERT_LT(begin, end);
-        ASSERT_LE(begin, iterable.begin());
+    ASSERT_EQ(begin + (end - begin), iterable.end());
+    ASSERT_EQ(begin - (begin - end), iterable.end());
 
-        ASSERT_GT(end, begin);
-        ASSERT_GE(end, iterable.end());
+    ASSERT_EQ(end - (end - begin), iterable.begin());
+    ASSERT_EQ(end + (begin - end), iterable.begin());
 
-        ASSERT_EQ(begin[0u].first, entt::type_id<int>().hash());
-        ASSERT_TRUE(begin[0u].second.contains(entity));
-    };
+    ASSERT_EQ(begin[0u].first, iterable.begin()->first);
+    ASSERT_EQ(std::addressof(begin[0u].second), std::addressof((*iterable.begin()).second));
 
-    test(registry.storage());
-    test(std::as_const(registry).storage());
+    ASSERT_LT(begin, end);
+    ASSERT_LE(begin, iterable.begin());
 
-    decltype(std::as_const(registry).storage().begin()) cit = registry.storage().begin();
+    ASSERT_GT(end, begin);
+    ASSERT_GE(end, iterable.end());
 
-    ASSERT_EQ(cit, registry.storage().begin());
-    ASSERT_NE(cit, std::as_const(registry).storage().end());
+    ASSERT_EQ(begin[0u].first, entt::type_id<int>().hash());
+    ASSERT_TRUE(begin[0u].second.contains(entity));
 }
 
 TEST(Registry, RegistryStorageIteratorConversion) {