Browse Source

test: use shared pointer stable type

Michele Caini 2 years ago
parent
commit
c042e3d985
1 changed files with 28 additions and 32 deletions
  1. 28 32
      test/entt/entity/registry.cpp

+ 28 - 32
test/entt/entity/registry.cpp

@@ -11,6 +11,7 @@
 #include <entt/entity/entity.hpp>
 #include <entt/entity/registry.hpp>
 #include "../common/config.h"
+#include "../common/pointer_stable.h"
 
 struct empty_type {};
 
@@ -22,11 +23,6 @@ bool operator==(const no_eto_type &lhs, const no_eto_type &rhs) {
     return &lhs == &rhs;
 }
 
-struct pointer_stable {
-    static constexpr auto in_place_delete = true;
-    int value{};
-};
-
 struct non_default_constructible {
     non_default_constructible(int v)
         : value{v} {}
@@ -748,17 +744,17 @@ TEST(Registry, DestroyRange) {
 TEST(Registry, StableDestroy) {
     entt::registry registry;
     const auto iview = registry.view<int>();
-    const auto icview = registry.view<int, pointer_stable>();
+    const auto icview = registry.view<int, test::pointer_stable>();
     entt::entity entity[3u];
 
     registry.create(std::begin(entity), std::end(entity));
 
     registry.emplace<int>(entity[0u]);
-    registry.emplace<pointer_stable>(entity[0u]);
+    registry.emplace<test::pointer_stable>(entity[0u]);
     registry.emplace<double>(entity[0u]);
 
     registry.emplace<int>(entity[1u]);
-    registry.emplace<pointer_stable>(entity[1u]);
+    registry.emplace<test::pointer_stable>(entity[1u]);
 
     registry.emplace<int>(entity[2u]);
 
@@ -773,7 +769,7 @@ TEST(Registry, StableDestroy) {
     ASSERT_TRUE(registry.valid(entity[2u]));
 
     ASSERT_EQ(registry.storage<int>().size(), 1u);
-    ASSERT_EQ(registry.storage<pointer_stable>().size(), 2u);
+    ASSERT_EQ(registry.storage<test::pointer_stable>().size(), 2u);
     ASSERT_EQ(registry.storage<double>().size(), 0u);
 
     registry.destroy(iview.begin(), iview.end());
@@ -783,7 +779,7 @@ TEST(Registry, StableDestroy) {
     ASSERT_EQ(icview.size_hint(), 0u);
 
     ASSERT_EQ(registry.storage<int>().size(), 0u);
-    ASSERT_EQ(registry.storage<pointer_stable>().size(), 2u);
+    ASSERT_EQ(registry.storage<test::pointer_stable>().size(), 2u);
     ASSERT_EQ(registry.storage<double>().size(), 0u);
 }
 
@@ -1577,17 +1573,17 @@ ENTT_DEBUG_TEST(RegistryDeathTest, Erase) {
 TEST(Registry, StableErase) {
     entt::registry registry;
     const auto iview = registry.view<int>();
-    const auto icview = registry.view<int, pointer_stable>();
+    const auto icview = registry.view<int, test::pointer_stable>();
     entt::entity entity[3u];
 
     registry.create(std::begin(entity), std::end(entity));
 
     registry.emplace<int>(entity[0u]);
-    registry.emplace<pointer_stable>(entity[0u]);
+    registry.emplace<test::pointer_stable>(entity[0u]);
     registry.emplace<double>(entity[0u]);
 
     registry.emplace<int>(entity[1u]);
-    registry.emplace<pointer_stable>(entity[1u]);
+    registry.emplace<test::pointer_stable>(entity[1u]);
 
     registry.emplace<int>(entity[2u]);
 
@@ -1595,16 +1591,16 @@ TEST(Registry, StableErase) {
     ASSERT_TRUE(registry.all_of<int>(entity[1u]));
     ASSERT_TRUE(registry.any_of<int>(entity[2u]));
 
-    registry.erase<int, pointer_stable>(entity[0u]);
-    registry.erase<int, pointer_stable>(icview.begin(), icview.end());
-    registry.erase<int, pointer_stable>(icview.begin(), icview.end());
+    registry.erase<int, test::pointer_stable>(entity[0u]);
+    registry.erase<int, test::pointer_stable>(icview.begin(), icview.end());
+    registry.erase<int, test::pointer_stable>(icview.begin(), icview.end());
 
     ASSERT_FALSE(registry.any_of<int>(entity[0u]));
     ASSERT_FALSE(registry.all_of<int>(entity[1u]));
     ASSERT_TRUE(registry.any_of<int>(entity[2u]));
 
     ASSERT_EQ(registry.storage<int>().size(), 1u);
-    ASSERT_EQ(registry.storage<pointer_stable>().size(), 2u);
+    ASSERT_EQ(registry.storage<test::pointer_stable>().size(), 2u);
     ASSERT_EQ(registry.storage<double>().size(), 1u);
 
     registry.erase<int>(iview.begin(), iview.end());
@@ -1612,7 +1608,7 @@ TEST(Registry, StableErase) {
     ASSERT_FALSE(registry.any_of<int>(entity[2u]));
 
     ASSERT_EQ(registry.storage<int>().size(), 0u);
-    ASSERT_EQ(registry.storage<pointer_stable>().size(), 2u);
+    ASSERT_EQ(registry.storage<test::pointer_stable>().size(), 2u);
     ASSERT_EQ(registry.storage<double>().size(), 1u);
 }
 
@@ -1727,17 +1723,17 @@ TEST(Registry, Remove) {
 TEST(Registry, StableRemove) {
     entt::registry registry;
     const auto iview = registry.view<int>();
-    const auto icview = registry.view<int, pointer_stable>();
+    const auto icview = registry.view<int, test::pointer_stable>();
     entt::entity entity[3u];
 
     registry.create(std::begin(entity), std::end(entity));
 
     registry.emplace<int>(entity[0u]);
-    registry.emplace<pointer_stable>(entity[0u]);
+    registry.emplace<test::pointer_stable>(entity[0u]);
     registry.emplace<double>(entity[0u]);
 
     registry.emplace<int>(entity[1u]);
-    registry.emplace<pointer_stable>(entity[1u]);
+    registry.emplace<test::pointer_stable>(entity[1u]);
 
     registry.emplace<int>(entity[2u]);
 
@@ -1745,17 +1741,17 @@ TEST(Registry, StableRemove) {
     ASSERT_TRUE(registry.all_of<int>(entity[1u]));
     ASSERT_TRUE(registry.any_of<int>(entity[2u]));
 
-    registry.remove<int, pointer_stable>(entity[0u]);
+    registry.remove<int, test::pointer_stable>(entity[0u]);
 
-    ASSERT_EQ((registry.remove<int, pointer_stable>(icview.begin(), icview.end())), 2u);
-    ASSERT_EQ((registry.remove<int, pointer_stable>(icview.begin(), icview.end())), 0u);
+    ASSERT_EQ((registry.remove<int, test::pointer_stable>(icview.begin(), icview.end())), 2u);
+    ASSERT_EQ((registry.remove<int, test::pointer_stable>(icview.begin(), icview.end())), 0u);
 
     ASSERT_FALSE(registry.any_of<int>(entity[0u]));
     ASSERT_FALSE(registry.all_of<int>(entity[1u]));
     ASSERT_TRUE(registry.any_of<int>(entity[2u]));
 
     ASSERT_EQ(registry.storage<int>().size(), 1u);
-    ASSERT_EQ(registry.storage<pointer_stable>().size(), 2u);
+    ASSERT_EQ(registry.storage<test::pointer_stable>().size(), 2u);
     ASSERT_EQ(registry.storage<double>().size(), 1u);
 
     ASSERT_EQ((registry.remove<int>(iview.begin(), iview.end())), 1u);
@@ -1766,7 +1762,7 @@ TEST(Registry, StableRemove) {
     ASSERT_FALSE(registry.any_of<int>(entity[2u]));
 
     ASSERT_EQ(registry.storage<int>().size(), 0u);
-    ASSERT_EQ(registry.storage<pointer_stable>().size(), 2u);
+    ASSERT_EQ(registry.storage<test::pointer_stable>().size(), 2u);
     ASSERT_EQ(registry.storage<double>().size(), 1u);
 }
 
@@ -1777,28 +1773,28 @@ TEST(Registry, Compact) {
     registry.create(std::begin(entity), std::end(entity));
 
     registry.emplace<int>(entity[0u]);
-    registry.emplace<pointer_stable>(entity[0u]);
+    registry.emplace<test::pointer_stable>(entity[0u]);
 
     registry.emplace<int>(entity[1u]);
-    registry.emplace<pointer_stable>(entity[1u]);
+    registry.emplace<test::pointer_stable>(entity[1u]);
 
     ASSERT_EQ(registry.storage<int>().size(), 2u);
-    ASSERT_EQ(registry.storage<pointer_stable>().size(), 2u);
+    ASSERT_EQ(registry.storage<test::pointer_stable>().size(), 2u);
 
     registry.destroy(std::begin(entity), std::end(entity));
 
     ASSERT_EQ(registry.storage<int>().size(), 0u);
-    ASSERT_EQ(registry.storage<pointer_stable>().size(), 2u);
+    ASSERT_EQ(registry.storage<test::pointer_stable>().size(), 2u);
 
     registry.compact<int>();
 
     ASSERT_EQ(registry.storage<int>().size(), 0u);
-    ASSERT_EQ(registry.storage<pointer_stable>().size(), 2u);
+    ASSERT_EQ(registry.storage<test::pointer_stable>().size(), 2u);
 
     registry.compact();
 
     ASSERT_EQ(registry.storage<int>().size(), 0u);
-    ASSERT_EQ(registry.storage<pointer_stable>().size(), 0u);
+    ASSERT_EQ(registry.storage<test::pointer_stable>().size(), 0u);
 }
 
 TEST(Registry, NonOwningGroupInterleaved) {