#include "Virtues.h" #include #include #include #include "test.h" using namespace SBF; using namespace Test; using namespace std; namespace Test::Virtues { TestResults test_GetVirtueLabel(); TestResults test_FillVirtueLabels(); } // End namespace Test::Virtues using namespace Test::Virtues; TestResults main_test_Virtues(int argc, char** argv) { TestResults results; results += test_GetVirtueLabel(); results += test_FillVirtueLabels(); return results; } namespace Test::Virtues { TestResults test_GetVirtueLabel() { return execute_suite(make_test_suite( "SBF::GetVirtueLabel", GetVirtueLabel, vector>({ make_test("should get \"\" for invalid virtue id 0", "", make_tuple(0)), make_test("should get \"Self-Control\" for virtue id 1", "Self-Control", make_tuple(1)), make_test("should get \"Courage\" for virtue id 2", "Courage", make_tuple(2)), make_test("should get \"Conscience\" for virtue id 3", "Conscience", make_tuple(3)), make_test("should get \"\" for invalid virtue id 4", "", make_tuple(4)), }))); } TestResults test_FillVirtueLabels() { auto fnToTest = []() -> string { ostringstream error_message; vector expected = { kVirtueSelfControlLabel, kVirtueCourageLabel, kVirtueConscienceLabel, }; vector actual = {"This should be removed."}; FillVirtueLabels(actual); compare(error_message, expected, actual); string error = error_message.str(); if (error.size() > 0) { return error; } return "no errors"; }; return execute_suite(make_test_suite("SBF::FillVirtueLabels", fnToTest, vector>({ make_test("should fill ranks", "no errors", make_tuple()), }))); } } // End namespace Test::Virtues