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")
|
||||
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 icsneocpp)
|
||||
|
|
|
|||
|
|
@ -11,6 +11,10 @@ EventManager& EventManager::GetInstance() {
|
|||
return *singleton.get();
|
||||
}
|
||||
|
||||
void EventManager::ResetInstance() {
|
||||
singleton = nullptr;
|
||||
}
|
||||
|
||||
void EventManager::get(std::vector<APIEvent>& eventOutput, size_t max, EventFilter filter) {
|
||||
std::lock_guard<std::mutex> lk(mutex);
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ std::vector<DeviceType> icsneo::GetSupportedDevices() {
|
|||
}
|
||||
|
||||
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) {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,9 @@ class EventManager {
|
|||
public:
|
||||
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);
|
||||
return count_internal(filter);
|
||||
};
|
||||
|
|
@ -61,8 +63,10 @@ public:
|
|||
|
||||
size_t getEventLimit() const { return eventLimit; }
|
||||
|
||||
|
||||
|
||||
private:
|
||||
EventManager() {}
|
||||
EventManager() : mutex(), events(), lastUserErrors(), eventLimit(10000) {}
|
||||
// Used by functions for threadsafety
|
||||
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"
|
||||
|
||||
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) {
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
|
|
|
|||
Loading…
Reference in New Issue