#include #include #include #include #define CATCH_CONFIG_MAIN #include "../src/Engine/Core/Kernel/CKernel.hpp" #include "../src/Engine/Core/Component/Custom/CAbstractCustomComponent.hpp" #include "../src/Engine/Core/Component/Rigidbody/CAbstractRigidbody.hpp" #include TEST_CASE("Entity component manager", "[ECManager]") { //CosmicCore::CKernel kernel("eheh","hehe"); //kernel.start(); //std::shared_ptr entity = std::make_shared("nameEntity"); //entity->attachComponent(); //REQUIRE(!entity->getComponents(CosmicCore::EComponentType::COMPONENT_CUSTOM).empty()); //auto comp = entity->getComponents(CosmicCore::EComponentType::COMPONENT_CUSTOM); //REQUIRE(!comp.empty()); //CosmicCore::CScene scene("scene"); //scene.addEntity(entity); //REQUIRE(!scene.getEntity(0).expired()); //scene.removeEntity(0, true); //REQUIRE(scene.getEntity(0).expired()); //std::shared_ptr entity2 = std::make_shared("nameEntity2"); //entity2->attachComponent(); //scene.addEntity(entity2); //REQUIRE(!scene.getEntity(0).expired()); CosmicCore::CEntityComponentManager eM; eM.getEntities().emplace_back("name"); REQUIRE(!eM.getEntities().empty()); REQUIRE(eM.getEntities()[0].value().get().getName() == "name"); eM.getEntities().erase(0); REQUIRE(eM.getEntities().empty()); REQUIRE(!eM.getEntities()[0].has_value()); }