Files
flippr-code/FlippR-Driver/tests/input/TestEventHandler.cpp

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 "input/EventHandler.h"
#include "input/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)));
}
}
}
}