Files
flippr-code/FlippR-Driver/tests/input/TestEventHandler.cpp
2018-07-16 22:44:09 +02:00

45 lines
1.1 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 "../../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::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<Input::IInputDriver> 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)));
}
}
}
}