added 2 output_tests + some add to output_driver

This commit is contained in:
Jonas Zeunert
2019-05-02 10:52:47 +02:00
parent 2ae71c2f53
commit 5e0517cf8a
8 changed files with 317 additions and 190 deletions

View File

@@ -10,16 +10,51 @@
#include "utility/LoggerFactory.h"
// testing purposes
#define private public
#include "output/items/detail/Lamp.h"
using namespace flippR_driver::output;
using namespace fakeit;
SCENARIO("")
SCENARIO("A Lamp gets activated")
{
GIVEN("A Lamp")
{
Mock<DriverBoardPinController> pin_controller;
Fake(Dtor(pin_controller));
When(Method(pin_controller, activate)).AlwaysReturn();
items::detail::Lamp lamp(std::make_shared<DriverBoardPinController>(pin_controller), 0, 0);
WHEN("The lamp gets activated")
{
lamp.activate();
THEN("It should call the pin_controller with itself")
{
REQUIRE((bool) Verify(Method(pin_controller, activate).Using(&lamp)));
}
}
}
}
SCENARIO("A Lamp gets deactivated")
{
GIVEN("A Lamp")
{
Mock<DriverBoardPinController> pin_controller;
Fake(Dtor(pin_controller));
When(Method(pin_controller, deactivate)).AlwaysReturn();
items::detail::Lamp lamp(std::make_shared<DriverBoardPinController>(pin_controller), 0, 0);
WHEN("The lamp gets deactivated")
{
lamp.deactivate();
THEN("It should call the pin_controller with itself")
{
REQUIRE((bool) Verify(Method(pin_controller, deactivate).Using(&lamp)));
}
}
}
}

View File

@@ -5,6 +5,7 @@
* Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert
*/
#include <output/DisplayController.h>
#include "catch.hpp"
#include "fakeit.hpp"
@@ -14,13 +15,24 @@
// testing purposes
#define private public
#include "output/OutputDriver.h"
#include "output/detail/OutputDriver.h"
using namespace flippR_driver::output;
using namespace flippR_driver;
using namespace fakeit;
SCENARIO("")
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 outputDriver(std::make_unique<output::DisplayController>(display_controller), nullptr, nullptr, nullptr, nullptr);
output::detail::OutputDriver output_driver(std::make_unique<output::DisplayController>(display_controller), NULL, nullptr, nullptr, nullptr);
WHEN("The displays get activated")
{
}
}
}