changed to smart ptrs and trying to fix event_handler_tests
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
|
||||
|
||||
using namespace fakeit;
|
||||
using namespace Input;
|
||||
|
||||
SCENARIO("An InputDriver gets created", "[construction}")
|
||||
{
|
||||
@@ -26,21 +27,22 @@ SCENARIO("An InputDriver gets created", "[construction}")
|
||||
{
|
||||
LoggerFactory::CreateInputLogger();
|
||||
|
||||
Mock<Input::IDetector> detector_mock;
|
||||
Mock<IDetector> detector_mock;
|
||||
Fake(Dtor(detector_mock));
|
||||
|
||||
Mock<Input::IEventNotifier> event_notifier_mock;
|
||||
Mock<IEventNotifier> event_notifier_mock;
|
||||
Fake(Dtor(event_notifier_mock));
|
||||
Mock<IEventHandler> event_handler_mock;
|
||||
Fake(Dtor(event_handler_mock));
|
||||
WHEN("The InputDriver gets created")
|
||||
{
|
||||
Input::InputDriver input_driver(&event_notifier_mock.get(), &detector_mock.get());
|
||||
std::shared_ptr<IEventNotifier> event_notifier_ptr(&event_notifier_mock.get());
|
||||
InputDriver input_driver(event_notifier_ptr, std::unique_ptr<IDetector>(&detector_mock.get()));
|
||||
|
||||
THEN("It saves the EventNotifier and the Detector")
|
||||
{
|
||||
REQUIRE(input_driver.event_notifier == &event_notifier_mock.get());
|
||||
REQUIRE(input_driver.detector == &detector_mock.get());
|
||||
REQUIRE(input_driver.event_notifier == event_notifier_ptr);
|
||||
REQUIRE(&(*input_driver.detector) == &detector_mock.get());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -64,7 +66,8 @@ SCENARIO("An EventHandler [un]registers at the driver", "[un-register]")
|
||||
Fake(Method(event_notifier_mock, unregister_event_handler));
|
||||
Fake(Dtor(event_notifier_mock));
|
||||
|
||||
Input::InputDriver input_driver(&event_notifier_mock.get(), &detector_mock.get());
|
||||
std::shared_ptr<IEventNotifier> event_notifier_ptr(&event_notifier_mock.get());
|
||||
InputDriver input_driver(event_notifier_ptr, std::unique_ptr<IDetector>(&detector_mock.get()));
|
||||
|
||||
WHEN("The EventHandler registers at the driver")
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user