Files
flippr-code/FlippR-Driver/tests/output/TestDisplay.cpp
2018-11-08 00:42:31 +01:00

66 lines
1.5 KiB
C++

/*
* TestDisplay.cpp
*
* Created on: Aug 7, 2018
* Author: rhetenor
*/
#include "catch.hpp"
#include "fakeit.hpp"
#include "utility/LoggerFactory.h"
// testing purposes
#define private public
#include "output/Display.h"
using namespace FlippR_Driver::output;
using namespace fakeit;
SCENARIO("Creating a Display object", "")
{
GIVEN("Just a Display with 7 digits")
{
Display<7> display(5,5);
WHEN("A content is set for the display")
{
std::string content_string = "1234567";
std::array<char,7> content;
std::copy(content_string.begin(), content_string.end(), content.data());
display.write_content(content);
THEN("This content should be set for the display")
{
REQUIRE(content == display.content);
}
}
WHEN("A score (12345) within the size of the display is written")
{
display.write_score(12345);
THEN("The content should look like: \" 12345\" ")
{
std::string content_string = " 12345";
std::array<char,7> content;
std::copy(content_string.begin(), content_string.end(), content.data());
REQUIRE(display.content == content);
}
}
WHEN("A score (12345678), which is longer than the digit is written")
display.write_score(12345678);
THEN("The content should look like: \"2345678\" ")
{
std::string content_string = "2345678";
std::array<char,7> content;
std::copy(content_string.begin(), content_string.end(), content.data());
REQUIRE(display.content == content);
}
}
}