Test.cpp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #include "Test.h"
  2. using namespace dsr;
  3. String& string_toStreamIndented(String& target, const Grade& grade, const ReadableString& indentation) {
  4. if (grade == Grade::Waiting) {
  5. string_append(target, indentation, U"Waiting");
  6. } else if (grade == Grade::Passed) {
  7. string_append(target, indentation, U"Passed");
  8. } else if (grade == Grade::Skipped) {
  9. string_append(target, indentation, U"Skipped");
  10. } else if (grade == Grade::Failed) {
  11. string_append(target, indentation, U"Failed");
  12. } else {
  13. string_append(target, indentation, U"?");
  14. }
  15. return target;
  16. }
  17. // Call when completing a task but not a whole test.
  18. void TestContext::passTask() {
  19. taskIndex++;
  20. }
  21. void TestContext::finishTest(Grade result) {
  22. if (result == Grade::Passed) {
  23. printText(U"Passed \"", tests[testIndex].name, U"\".");
  24. } else if (result == Grade::Skipped) {
  25. sendWarning(U"Skipped \"", tests[testIndex].name, U"\".");
  26. } else if (result == Grade::Failed) {
  27. sendWarning(U"Failed \"", tests[testIndex].name, U"\".");
  28. }
  29. tests[testIndex].result = result;
  30. testIndex++;
  31. }