Files
flippr-code/FlippR-Driver/tests/output/TestOutputDriver.cpp
2019-05-02 11:30:50 +02:00

59 lines
1.5 KiB
C++

/*
* TestOutputDriver.cpp
*
* Created on: Aug 7, 2018
* Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert
*/
#include <output/DisplayController.h>
#include "catch.hpp"
#include "fakeit.hpp"
#include "utility/LoggerFactory.h"
// testing purposes
#define private public
#include "output/detail/OutputDriver.h"
using namespace flippR_driver;
using namespace fakeit;
SCENARIO("The OutputDriver should activate the displays")
{
GIVEN("An OutputDriver")
{
Mock<output::DisplayController> display_controller;
When(Method(display_controller, activate_displays)).AlwaysReturn();
output::detail::OutputDriver output_driver(std::make_unique<output::DisplayController>(display_controller), {}, {}, {}, {});
WHEN("The displays get activated")
{
output_driver.activate_displays();
THEN("The display controller should be called")
{
REQUIRE((bool)Verify(Method(display_controller, activate_displays)));
}
}
}
}
SCENARIO("The OutputDriver should deactivate the displays")
{
GIVEN("An OutputDriver")
{
Mock<output::DisplayController> display_controller;
When(Method(display_controller, deactivate_displays)).AlwaysReturn();
output::detail::OutputDriver output_driver(std::make_unique<output::DisplayController>(display_controller), {}, {}, {}, {});
WHEN("The displays get deactivated")
{
output_driver.activate_displays();
THEN("The display controller should be called")
{
REQUIRE((bool)Verify(Method(display_controller, deactivate_displays)));
}
}
}
}