Test.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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"\"\n.");
  24. } else if (result == Grade::Skipped) {
  25. sendWarning(U"Skipped \"", tests[testIndex].name, U"\"\n.");
  26. } else if (result == Grade::Failed) {
  27. sendWarning(U"Failed \"", tests[testIndex].name, U"\"\n.");
  28. }
  29. tests[testIndex].result = result;
  30. testIndex++;
  31. taskIndex = 0;
  32. }
  33. void TestContext::drawAides(AlignedImageRgbaU8 &canvas) {
  34. int width = image_getWidth(canvas);
  35. int height = image_getHeight(canvas);
  36. draw_rectangle(canvas, IRect(0, this->lastPosition.y - 1, width, 3), ColorRgbaI32(180, 180, 180, 255));
  37. draw_rectangle(canvas, IRect(this->lastPosition.x - 1, 0, 3, height), ColorRgbaI32(180, 180, 180, 255));
  38. }