diff --git a/tests/zecsy.cpp b/tests/zecsy.cpp
index 65a4d71..a4e3672 100644
--- a/tests/zecsy.cpp
+++ b/tests/zecsy.cpp
@@ -473,12 +473,40 @@ TEST_CASE("Archetype signature management")
// Initial state: empty archetype
REQUIRE(w.archetype_count() == 0);
- auto e = w.make_entity();
- REQUIRE(w.archetype_count() == 1);
+ auto e0 = w.make_entity();
+ REQUIRE(w.archetype_count() == 1); //<>
// Add first component
- w.set(e);
- REQUIRE(w.archetype_count() == 1);
+ w.set(e0);
+ REQUIRE(w.archetype_count() == 1); //
+
+ w.set(e0);
+ REQUIRE(w.archetype_count() == 1); //
+
+ w.set(e0);
+ REQUIRE(w.archetype_count() == 1); //
+
+ w.remove(e0);
+ REQUIRE(w.archetype_count() == 1); //
+
+ auto e1 = w.make_entity();
+ w.set(e1);
+ REQUIRE(w.archetype_count() == 2); //,
+
+ w.remove(e0);
+ REQUIRE(w.archetype_count() == 2); //<>,
+
+ w.set(e0);
+ REQUIRE(w.archetype_count() == 2); //,
+
+ w.set(e0);
+ REQUIRE(w.archetype_count() == 1); //
+
+ w.destroy_entity(e0);
+ REQUIRE(w.archetype_count() == 1); //
+
+ w.destroy_entity(e1);
+ REQUIRE(w.archetype_count() == 0);
}
TEST_CASE("Component distribution across archetypes")
@@ -499,11 +527,13 @@ TEST_CASE("Component distribution across archetypes")
auto e = w.make_entity();
w.set(e);
}
+
for(int i = 0; i < 3; ++i)
{
auto e = w.make_entity();
w.set(e);
}
+
for(int i = 0; i < 2; ++i)
{
auto e = w.make_entity();