started writing tests
This commit is contained in:
@@ -5,21 +5,58 @@
|
||||
* Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert
|
||||
*/
|
||||
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
|
||||
#include "catch.hpp"
|
||||
#include "fakeit.hpp"
|
||||
|
||||
#include "utility/LoggerFactory.h"
|
||||
|
||||
#include "output/DisplayController.h"
|
||||
#include "output/items/OutputDisplay.h"
|
||||
#include "output/detail/DisplayBoardPinController.h"
|
||||
#include "output/detail/DisplayController.h"
|
||||
|
||||
|
||||
// testing purposes
|
||||
#define private public
|
||||
|
||||
#include "output/DisplayController.h"
|
||||
|
||||
using namespace flippR_driver::output;
|
||||
using namespace fakeit;
|
||||
using namespace flippR_driver::utility;
|
||||
using namespace fakeit;
|
||||
|
||||
SCENARIO("")
|
||||
SCENARIO("A display controller gets created", "")
|
||||
{
|
||||
GIVEN("A set of displays and a pin controller")
|
||||
{
|
||||
LoggerFactory::CreateInputTestLogger();
|
||||
|
||||
std::vector<std::shared_ptr<items::OutputDisplay>> output_diplays;
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
Mock<items::OutputDisplay> display_mock;
|
||||
Fake(Dtor(display_mock));
|
||||
output_diplays.push_back(std::make_shared<items::OutputDisplay>(display_mock));
|
||||
}
|
||||
|
||||
Mock<DisplayBoardPinController> display_board_pin_controller_mock;
|
||||
Fake(Dtor(display_board_pin_controller_mock));
|
||||
|
||||
When(Method(display_board_pin_controller_mock, write_display)).AlwaysReturn();
|
||||
When(Method(display_board_pin_controller_mock, activate_displays)).AlwaysReturn();
|
||||
When(Method(display_board_pin_controller_mock, deactivate_displays)).AlwaysReturn();
|
||||
|
||||
WHEN("The DisplayController is created")
|
||||
{
|
||||
detail::DisplayController controller(output_diplays, std::make_unique<DisplayBoardPinController>(display_board_pin_controller_mock));
|
||||
|
||||
THEN("All Displays should be activated")
|
||||
{
|
||||
// REQUIRE(display_board_pin_controller_mock.)
|
||||
// ToDo: to be continued!
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user