/* * 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 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 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 content; std::copy(content_string.begin(), content_string.end(), content.data()); REQUIRE(display.content == content); } } }