compilable version
This commit is contained in:
@@ -37,7 +37,9 @@ SCENARIO("An InputDriver gets created", "[construction}")
|
||||
WHEN("The InputDriver gets created")
|
||||
{
|
||||
std::shared_ptr<IEventNotifier> event_notifier_ptr(&event_notifier_mock.get());
|
||||
InputDriver input_driver(event_notifier_ptr, std::unique_ptr<IDetector>(&detector_mock.get()));
|
||||
std::map<std::string, std::shared_ptr<Event>> events;
|
||||
|
||||
InputDriver input_driver(event_notifier_ptr, std::unique_ptr<IDetector>(&detector_mock.get()), events);
|
||||
|
||||
THEN("It saves the EventNotifier and the Detector")
|
||||
{
|
||||
@@ -67,7 +69,10 @@ SCENARIO("An EventHandler [un]registers at the driver", "[un-register]")
|
||||
Fake(Dtor(event_notifier_mock));
|
||||
|
||||
std::shared_ptr<IEventNotifier> event_notifier_ptr(&event_notifier_mock.get());
|
||||
InputDriver input_driver(event_notifier_ptr, std::unique_ptr<IDetector>(&detector_mock.get()));
|
||||
|
||||
std::map<std::string, std::shared_ptr<Event>> events;
|
||||
|
||||
InputDriver input_driver(event_notifier_ptr, std::unique_ptr<IDetector>(&detector_mock.get()), events);
|
||||
|
||||
WHEN("The EventHandler registers at the driver")
|
||||
{
|
||||
@@ -92,3 +97,58 @@ SCENARIO("An EventHandler [un]registers at the driver", "[un-register]")
|
||||
}
|
||||
|
||||
|
||||
SCENARIO("An Input Driver is created normally", "")
|
||||
{
|
||||
GIVEN("An InputDriver, EventHandler and an EventNotifier and some events")
|
||||
{
|
||||
LoggerFactory::CreateInputTestLogger();
|
||||
|
||||
Mock<Input::IDetector> detector_mock;
|
||||
Fake(Dtor(detector_mock));
|
||||
|
||||
Mock<IEventHandler> event_handler_mock;
|
||||
Fake(Dtor(event_handler_mock));
|
||||
|
||||
Mock<Input::IEventNotifier> event_notifier_mock;
|
||||
Fake(Dtor(event_notifier_mock));
|
||||
|
||||
std::shared_ptr<IEventNotifier> event_notifier_ptr(&event_notifier_mock.get());
|
||||
|
||||
Event event1('a', 2, "e1");
|
||||
auto event1_ptr = std::make_shared<Event>(event1 );
|
||||
Event event2('b', 1, "e2");
|
||||
Event event3('c', 2, "e3");
|
||||
Event event4('d', 1, "e4");
|
||||
|
||||
std::map<std::string, std::shared_ptr<Event>> events;
|
||||
events.emplace("e1", event1_ptr);
|
||||
events.emplace("e2", std::make_shared<Event>(event2));
|
||||
events.emplace("e3", std::make_shared<Event>(event3));
|
||||
events.emplace("e4", std::make_shared<Event>(event4));
|
||||
|
||||
|
||||
InputDriver input_driver(event_notifier_ptr, std::unique_ptr<IDetector>(&detector_mock.get()), events);
|
||||
|
||||
WHEN("Someone asks for an event that is registered")
|
||||
{
|
||||
auto event = input_driver.get_event("e1");
|
||||
|
||||
THEN("The obtained event should be the same as emplaced before")
|
||||
{
|
||||
REQUIRE(event==event1_ptr);
|
||||
}
|
||||
}
|
||||
|
||||
WHEN("someone asks for an event that is not registered")
|
||||
{
|
||||
auto event = input_driver.get_event("no event");
|
||||
|
||||
THEN("the obtained event should be null")
|
||||
{
|
||||
REQUIRE(event->name == "ERROR");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user