/* * TestEventHandler.cpp * * Created on: May 31, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht */ #include "../catch.hpp" #include "../../input/EventHandler.hpp" #include "mocks/InputDriverMock.hpp" #define private public SCENARIO("An EventHandler gets created and destroyed") { GIVEN("A shared pointer to an InputDriver and an EventHandler") { std::shared_ptr input_driver; Input::EventHandler* event_handler = new Input::EventHandler(input_driver); WHEN("An EventHandler is created") { REQUIRE(input_driver->registered = false); THEN("The input driver is saved") { REQUIRE(event_handler->input_driver.get() == input_driver.get()); } THEN("The handler is registered at the driver") { REQUIRE(input_driver->registered == true); } } WHEN("The EventHandler is destroyed") { REQUIRE(input_driver->registered == true); delete(event_handler); event_handler = NULL; THEN("The handler is unregistered at the driver") { REQUIRE(input_driver->registered == false); } } } } // Input::EventHandler::handle not tested because its virtual and should be overrided