Files
flippr-code/FlippR-Driver/tests/input/TestEventHandler.cpp
2018-11-08 00:42:31 +01:00

46 lines
1.2 KiB
C++

/*
* 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 "utility/LoggerFactory.h"
#include "EventHandler.h"
#include "IInputDriver.h"
// testing purposes
#define private public
using namespace fakeit;
using namespace FlippR_Driver::utility;
SCENARIO("An EventHandler gets created", "[construction}")
{
GIVEN("An IInputDriver")
{
LoggerFactory::CreateInputTestLogger();
Mock<FlippR_Driver::Input::IInputDriver> 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<FlippR_Driver::Input::IInputDriver> driver_ptr(&input_driver_mock.get());
FlippR_Driver::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)));
}
}
}
}