#include #define CATCH_CONFIG_MAIN #include #define MAX_ZECSY_ENTITIES 4 #include "../zecsy.hpp" using namespace zecsy; TEST_CASE("Create a single entity and verify its existence") { world w; auto e = w.make_entity(); REQUIRE(w.is_alive(e)); REQUIRE(e.is_alive()); } TEST_CASE("Destroy an entity and ensure it no longer exists in the world") { world w; auto e = w.make_entity(); w.destroy_entity(e); REQUIRE_FALSE(w.is_alive(e)); REQUIRE_FALSE(e.is_alive()); } TEST_CASE("Entity #0 should be reserved and never used") { world w; auto e = w.make_entity(); REQUIRE(e != 0); REQUIRE(entity() == 0); REQUIRE_FALSE(entity().is_alive()); } TEST_CASE("World should throw on id overflow") { world w; for(int i = 0; i < MAX_ZECSY_ENTITIES; ++i) { REQUIRE_NOTHROW(w.make_entity()); } REQUIRE_THROWS(w.make_entity()); }