diff --git a/FlippR-Driver/src/input/InputDriverFactory.cpp b/FlippR-Driver/src/input/InputDriverFactory.cpp index 4f47310..4bede47 100644 --- a/FlippR-Driver/src/input/InputDriverFactory.cpp +++ b/FlippR-Driver/src/input/InputDriverFactory.cpp @@ -8,6 +8,8 @@ #include "InputDriverFactory.h" +#include "../utilities/LoggerFactory.hpp" + #include "EventNotifier.h" using namespace nlohmann; @@ -66,13 +68,5 @@ std::map InputDriverFactory::create_input_events(json matrix_config void InputDriverFactory::ConfigureLogger() { - el::Loggers::getLogger(INPUT_LOGGER); - - //TODO may configure? - el::Configurations conf; - conf.setToDefault(); - conf.set(el::Level::Global, el::ConfigurationType::Filename, DRIVER_LOG_FILE); - conf.set(el::Level::Global, el::ConfigurationType::Format, "%datetime [%level] [%func] : %msg"); - - el::Loggers::reconfigureLogger(INPUT_LOGGER, conf); + LoggerFactory::CreateInputLogger(); } diff --git a/FlippR-Driver/src/utilities/LoggerFactory.hpp b/FlippR-Driver/src/utilities/LoggerFactory.hpp new file mode 100644 index 0000000..e77340e --- /dev/null +++ b/FlippR-Driver/src/utilities/LoggerFactory.hpp @@ -0,0 +1,32 @@ +/* + * LoggerFactory.hpp + * + * Created on: Jun 19, 2018 + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + */ + +#ifndef SRC_UTILITIES_LOGGERFACTORY_HPP_ +#define SRC_UTILITIES_LOGGERFACTORY_HPP_ + +#include "config.h" + +class LoggerFactory +{ +public: + static void CreateInputLogger() + { + el::Loggers::getLogger(INPUT_LOGGER); + + //TODO may configure? + el::Configurations conf; + conf.setToDefault(); + conf.set(el::Level::Global, el::ConfigurationType::Filename, DRIVER_LOG_FILE); + conf.set(el::Level::Global, el::ConfigurationType::Format, "%datetime [%level] [%func] : %msg"); + + el::Loggers::reconfigureLogger(INPUT_LOGGER, conf); + } +}; + + + +#endif /* SRC_UTILITIES_LOGGERFACTORY_HPP_ */ diff --git a/FlippR-Driver/tests/input/TestInputDriver.cpp b/FlippR-Driver/tests/input/TestInputDriver.cpp index 2702067..52aff97 100644 --- a/FlippR-Driver/tests/input/TestInputDriver.cpp +++ b/FlippR-Driver/tests/input/TestInputDriver.cpp @@ -10,10 +10,9 @@ #define private public -#include "../../src/utilities/config.h" +#include "../../src/utilities/LoggerFactory.hpp" #include "../../src/input/InputDriver.h" -#include "../../src/input/Event.h" #include "../../src/input/IEventNotifier.h" #include "../../src/input/IDetector.h" @@ -24,10 +23,15 @@ SCENARIO("An InputDriver gets created", "[construction}") { GIVEN("An EventNotifier") { + LoggerFactory::CreateInputLogger(); + Mock detector_mock; + When(Dtor(detector_mock)).AlwaysReturn(); Mock event_notifier_mock; + When(Dtor(event_notifier_mock)).AlwaysReturn(); Mock event_handler_mock; + When(Dtor(event_handler_mock)).AlwaysReturn(); WHEN("The InputDriver gets created") { @@ -45,12 +49,19 @@ SCENARIO("An EventHandler [un]registers at the driver", "[un-register]") { GIVEN("An InputDriver, EventHandler and an EventNotifier") { + LoggerFactory::CreateInputLogger(); + Mock detector_mock; + When(Dtor(detector_mock)).AlwaysReturn(); Mock event_handler_mock; + When(Method(event_handler_mock, handle)).AlwaysReturn(); + When(Dtor(event_handler_mock)).AlwaysReturn(); + Mock event_notifier_mock; - When(Method(event_notifier_mock, register_event_handler)); - When(Method(event_notifier_mock, unregister_event_handler)); + When(Method(event_notifier_mock, register_event_handler)).AlwaysReturn(); + When(Method(event_notifier_mock, unregister_event_handler)).AlwaysReturn(); + When(Dtor(event_notifier_mock)).AlwaysReturn(); Input::InputDriver input_driver(&event_notifier_mock.get(), &detector_mock.get());