/*
 * TestEventHandler.cpp
 *
 *  Created on: Jun 28, 2018
 *      Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert
 */

#include "catch.hpp"
#include "fakeit.hpp"

// testing purposes
#define private public

#include "utility/LoggerFactory.h"
#include "input/InputDriver.h"


using namespace fakeit;
using namespace flippR_driver::utility;
/* todo ?
SCENARIO("An EventHandler gets created", "[construction}")
{
  GIVEN("An IInputDriver")
  {
    LoggerFactory::CreateInputTestLogger();

    Mock<flippR_driver::input::InputDriver> 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::InputDriver> driver_ptr(&input_driver_mock.get());
      flippR_driver::input::detail::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)));
      }
    }
  }
}
*/