diff --git a/src/EventManager/Manager.cpp b/src/EventManager/Manager.cpp index 41edd8a..a5dfed1 100644 --- a/src/EventManager/Manager.cpp +++ b/src/EventManager/Manager.cpp @@ -294,6 +294,11 @@ bool EventManager::Manager::empty() const { bool isEmpty=true; + + while(!commandQueue_.empty()) + { + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + } for (auto it = eventMap_.begin(); it != eventMap_.end(); ++it) { diff --git a/tests/test_basic.cpp b/tests/test_basic.cpp index a95e502..ac39d50 100644 --- a/tests/test_basic.cpp +++ b/tests/test_basic.cpp @@ -87,6 +87,11 @@ SCENARIO("Basic Usage of EventManager", "[Manager]") manager = std::make_shared(); }()); + REQUIRE_NOTHROW([&]() + { + manager->start(); + }()); + REQUIRE(manager->empty() == true); std::shared_ptr participant0; @@ -107,11 +112,6 @@ SCENARIO("Basic Usage of EventManager", "[Manager]") REQUIRE(manager->empty() == false); - REQUIRE_NOTHROW([&]() - { - manager->start(); - }()); - REQUIRE(manager->isRunning() == true); WHEN("emitting shutdown event")