test: use the right values for the free_list to avoid regressions

This commit is contained in:
Michele Caini
2023-09-07 18:22:20 +02:00
parent 8731eb91f4
commit d93f96f48f

View File

@@ -400,14 +400,14 @@ TEST(SparseSet, Erase) {
entt::entity entity[3u]{entt::entity{3}, entt::entity{42}, traits_type::construct(9, 3)};
ASSERT_EQ(set.policy(), entt::deletion_policy::swap_and_pop);
ASSERT_GT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), traits_type::entity_mask);
ASSERT_TRUE(set.empty());
set.push(std::begin(entity), std::end(entity));
set.erase(set.begin(), set.end());
ASSERT_TRUE(set.empty());
ASSERT_GT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), traits_type::entity_mask);
ASSERT_EQ(set.current(entity[0u]), traits_type::to_version(entt::tombstone));
ASSERT_EQ(set.current(entity[1u]), traits_type::to_version(entt::tombstone));
ASSERT_EQ(set.current(entity[2u]), traits_type::to_version(entt::tombstone));
@@ -416,7 +416,7 @@ TEST(SparseSet, Erase) {
set.erase(entity, entity + 2u);
ASSERT_FALSE(set.empty());
ASSERT_GT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), traits_type::entity_mask);
ASSERT_EQ(set.current(entity[0u]), traits_type::to_version(entt::tombstone));
ASSERT_EQ(set.current(entity[1u]), traits_type::to_version(entt::tombstone));
ASSERT_EQ(set.current(entity[2u]), traits_type::to_version(entity[2u]));
@@ -425,7 +425,7 @@ TEST(SparseSet, Erase) {
set.erase(entity[2u]);
ASSERT_TRUE(set.empty());
ASSERT_GT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), traits_type::entity_mask);
ASSERT_EQ(set.current(entity[2u]), traits_type::to_version(entt::tombstone));
set.push(std::begin(entity), std::end(entity));
@@ -433,7 +433,7 @@ TEST(SparseSet, Erase) {
set.erase(entity, entity + 2u);
ASSERT_FALSE(set.empty());
ASSERT_GT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), traits_type::entity_mask);
ASSERT_EQ(set.current(entity[2u]), traits_type::to_version(entity[2u]));
ASSERT_EQ(*set.begin(), entity[2u]);
}
@@ -469,7 +469,7 @@ TEST(SparseSet, StableErase) {
entt::entity entity[3u]{entt::entity{3}, entt::entity{42}, traits_type::construct(9, 3)};
ASSERT_EQ(set.policy(), entt::deletion_policy::in_place);
ASSERT_GT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), traits_type::entity_mask);
ASSERT_TRUE(set.empty());
ASSERT_EQ(set.size(), 0u);
@@ -481,7 +481,7 @@ TEST(SparseSet, StableErase) {
ASSERT_FALSE(set.empty());
ASSERT_EQ(set.size(), 3u);
ASSERT_LT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), 0u);
ASSERT_EQ(set.current(entity[0u]), traits_type::to_version(entt::tombstone));
ASSERT_EQ(set.current(entity[1u]), traits_type::to_version(entt::tombstone));
ASSERT_EQ(set.current(entity[2u]), traits_type::to_version(entt::tombstone));
@@ -497,7 +497,7 @@ TEST(SparseSet, StableErase) {
ASSERT_FALSE(set.empty());
ASSERT_EQ(set.size(), 3u);
ASSERT_LT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), 1u);
ASSERT_EQ(set.current(entity[0u]), traits_type::to_version(entt::tombstone));
ASSERT_EQ(set.current(entity[1u]), traits_type::to_version(entt::tombstone));
ASSERT_EQ(set.current(entity[2u]), traits_type::to_version(entity[2u]));
@@ -509,7 +509,7 @@ TEST(SparseSet, StableErase) {
ASSERT_FALSE(set.empty());
ASSERT_EQ(set.size(), 3u);
ASSERT_LT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), 2u);
ASSERT_EQ(set.current(entity[2u]), traits_type::to_version(entt::tombstone));
set.push(entity[0u]);
@@ -521,7 +521,7 @@ TEST(SparseSet, StableErase) {
ASSERT_FALSE(set.empty());
ASSERT_EQ(set.size(), 3u);
ASSERT_LT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), 0u);
ASSERT_EQ(set.current(entity[2u]), traits_type::to_version(entity[2u]));
ASSERT_TRUE(set.at(0u) == entt::tombstone);
ASSERT_EQ(set.at(1u), entity[2u]);
@@ -532,7 +532,7 @@ TEST(SparseSet, StableErase) {
ASSERT_FALSE(set.empty());
ASSERT_EQ(set.size(), 1u);
ASSERT_GT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), traits_type::entity_mask);
ASSERT_EQ(set.current(entity[0u]), traits_type::to_version(entt::tombstone));
ASSERT_EQ(set.current(entity[1u]), traits_type::to_version(entt::tombstone));
ASSERT_EQ(set.current(entity[2u]), traits_type::to_version(entity[2u]));
@@ -542,7 +542,7 @@ TEST(SparseSet, StableErase) {
set.clear();
ASSERT_EQ(set.size(), 0u);
ASSERT_GT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), traits_type::entity_mask);
ASSERT_EQ(set.current(entity[2u]), traits_type::to_version(entt::tombstone));
set.push(entity[0u]);
@@ -614,7 +614,7 @@ TEST(SparseSet, SwapOnlyErase) {
entt::entity entity[3u]{entt::entity{3}, entt::entity{42}, traits_type::construct(9, 3)};
ASSERT_EQ(set.policy(), entt::deletion_policy::swap_only);
ASSERT_EQ(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), 0u);
ASSERT_TRUE(set.empty());
set.push(std::begin(entity), std::end(entity));
@@ -622,13 +622,13 @@ TEST(SparseSet, SwapOnlyErase) {
ASSERT_FALSE(set.empty());
ASSERT_EQ(set.size(), 3u);
ASSERT_LT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), 0u);
set.erase(entity[2u]);
ASSERT_FALSE(set.empty());
ASSERT_EQ(set.size(), 3u);
ASSERT_LT(set.free_list(), set.size());
ASSERT_EQ(set.free_list(), 0u);
ASSERT_EQ(set.at(0u), entity[0u]);
ASSERT_EQ(set.at(1u), entity[1u]);