45 lines
1.1 KiB
C++
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 "utilities/LoggerFactory.hpp"
|
|
#include "input/EventHandler.h"
|
|
#include "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)));
|
|
}
|
|
}
|
|
}
|
|
}
|