Separated tests into different files, added ResetInstance() method to EventManager
parent
1dd68eb0d0
commit
4923218d35
|
|
@ -217,7 +217,7 @@ if(test)
|
||||||
include_directories("${gtest_SOURCE_DIR}/include")
|
include_directories("${gtest_SOURCE_DIR}/include")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(runTests test/main.cpp)
|
add_executable(runTests test/main.cpp test/eventmanagertest.cpp)
|
||||||
|
|
||||||
target_link_libraries(runTests gtest gtest_main)
|
target_link_libraries(runTests gtest gtest_main)
|
||||||
target_link_libraries(runTests icsneocpp)
|
target_link_libraries(runTests icsneocpp)
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,10 @@ EventManager& EventManager::GetInstance() {
|
||||||
return *singleton.get();
|
return *singleton.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EventManager::ResetInstance() {
|
||||||
|
singleton = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
void EventManager::get(std::vector<APIEvent>& eventOutput, size_t max, EventFilter filter) {
|
void EventManager::get(std::vector<APIEvent>& eventOutput, size_t max, EventFilter filter) {
|
||||||
std::lock_guard<std::mutex> lk(mutex);
|
std::lock_guard<std::mutex> lk(mutex);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ std::vector<DeviceType> icsneo::GetSupportedDevices() {
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t icsneo::EventCount(EventFilter filter) {
|
size_t icsneo::EventCount(EventFilter filter) {
|
||||||
return EventManager::GetInstance().count(filter);
|
return EventManager::GetInstance().eventCount(filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<APIEvent> icsneo::GetEvents(EventFilter filter, size_t max) {
|
std::vector<APIEvent> icsneo::GetEvents(EventFilter filter, size_t max) {
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,9 @@ class EventManager {
|
||||||
public:
|
public:
|
||||||
static EventManager& GetInstance();
|
static EventManager& GetInstance();
|
||||||
|
|
||||||
size_t count(EventFilter filter = EventFilter()) const {
|
static void ResetInstance();
|
||||||
|
|
||||||
|
size_t eventCount(EventFilter filter = EventFilter()) const {
|
||||||
std::lock_guard<std::mutex> lk(mutex);
|
std::lock_guard<std::mutex> lk(mutex);
|
||||||
return count_internal(filter);
|
return count_internal(filter);
|
||||||
};
|
};
|
||||||
|
|
@ -61,8 +63,10 @@ public:
|
||||||
|
|
||||||
size_t getEventLimit() const { return eventLimit; }
|
size_t getEventLimit() const { return eventLimit; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
EventManager() {}
|
EventManager() : mutex(), events(), lastUserErrors(), eventLimit(10000) {}
|
||||||
// Used by functions for threadsafety
|
// Used by functions for threadsafety
|
||||||
mutable std::mutex mutex;
|
mutable std::mutex mutex;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
#include "icsneo/icsneocpp.h"
|
||||||
|
#include "gtest/gtest.h"
|
||||||
|
|
||||||
|
using namespace icsneo;
|
||||||
|
|
||||||
|
class EventManagerTest : public ::testing::Test {
|
||||||
|
protected:
|
||||||
|
void TearDown() override {
|
||||||
|
EventManager::ResetInstance();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
TEST_F(EventManagerTest, GetLastErrorTest) {
|
||||||
|
EventManager::GetInstance().add(APIEvent(APIEvent::Type::OutputTruncated, APIEvent::Severity::Error));
|
||||||
|
EXPECT_EQ(GetLastError().getType(), APIEvent::Type::OutputTruncated);
|
||||||
|
auto err = GetLastError();
|
||||||
|
EXPECT_EQ(err.getType(), APIEvent::Type::NoErrorFound);
|
||||||
|
EXPECT_EQ(err.getSeverity(), APIEvent::Severity::EventInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(EventManagerTest, CountTest) {
|
||||||
|
EventManager::GetInstance().add(APIEvent(APIEvent::Type::OutputTruncated, APIEvent::Severity::Error));
|
||||||
|
EXPECT_EQ(EventCount(), 0);
|
||||||
|
EventManager::GetInstance().add(APIEvent(APIEvent::Type::OutputTruncated, APIEvent::Severity::EventWarning));
|
||||||
|
EXPECT_EQ(EventCount(), 1);
|
||||||
|
EventManager::GetInstance().add(APIEvent(APIEvent::Type::OutputTruncated, APIEvent::Severity::EventInfo));
|
||||||
|
EXPECT_EQ(EventCount(), 2);
|
||||||
|
GetEvents(EventFilter(APIEvent::Severity::EventInfo));
|
||||||
|
EXPECT_EQ(EventCount(), 1);
|
||||||
|
GetEvents();
|
||||||
|
EXPECT_EQ(EventCount(), 0);
|
||||||
|
}
|
||||||
|
|
@ -1,22 +1,5 @@
|
||||||
#include "icsneo/api/eventmanager.h"
|
|
||||||
#include "gtest/gtest.h"
|
#include "gtest/gtest.h"
|
||||||
|
|
||||||
using namespace icsneo;
|
|
||||||
|
|
||||||
class EventManagerTest : public ::testing::Test {
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
TEST_F(EventManagerTest, GetLastErrorTest) {
|
|
||||||
EventManager::GetInstance().add(APIEvent(APIEvent::Type::OutputTruncated, APIEvent::Severity::Error));
|
|
||||||
EXPECT_EQ(EventManager::GetInstance().getLastError().getType(), APIEvent::Type::OutputTruncated);
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST_F(EventManagerTest, CountTest) {
|
|
||||||
EventManager::GetInstance().add(APIEvent(APIEvent::Type::OutputTruncated, APIEvent::Severity::Error));
|
|
||||||
EXPECT_EQ(EventManager::GetInstance().count(), 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
int main(int argc, char** argv) {
|
||||||
::testing::InitGoogleTest(&argc, argv);
|
::testing::InitGoogleTest(&argc, argv);
|
||||||
return RUN_ALL_TESTS();
|
return RUN_ALL_TESTS();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue