/* * TestEventHandler.cpp * * Created on: Jun 28, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht */ #include "../catch.hpp" #include "../fakeit.hpp" #include "../../src/utilities/LoggerFactory.hpp" #include "../../src/input/EventHandler.h" #include "../../src/input/IInputDriver.h" // testing purposes #define private public using namespace fakeit; SCENARIO("An EventHandler gets created", "[construction}") { GIVEN("An IInputDriver") { LoggerFactory::CreateInputTestLogger(); Mock input_driver_mock; Fake(Dtor(input_driver_mock)); When(Method(input_driver_mock, register_event_handler)).AlwaysReturn(); When(Method(input_driver_mock, unregister_event_handler)).AlwaysReturn(); WHEN("the event handler gets created") { std::shared_ptr driver_ptr(&input_driver_mock.get()); Input::EventHandler handler(driver_ptr); THEN("It should register itself at the input_driver") { REQUIRE((bool)Verify(Method(input_driver_mock, register_event_handler).Using(&handler))); } } } }