Test.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "test/Test.h"
  2. Core::Test::Test(const String& name_) : tests(0), successTests(0), name(name_) {
  3. }
  4. void Core::Test::finalize() {
  5. if(successTests == tests) {
  6. LOG_DEBUG("# Tests: # / # succeeded", name, successTests, tests);
  7. } else {
  8. LOG_ERROR("# Tests: # / # succeeded", name, successTests, tests);
  9. }
  10. tests = 0;
  11. successTests = 0;
  12. }
  13. void Core::Test::checkEqual(float wanted, float actual, const char* text) {
  14. checkFloat(wanted, actual, 0.0000001f, text);
  15. }
  16. void Core::Test::checkFloat(float wanted, float actual, float error,
  17. const char* text) {
  18. tests++;
  19. float diff = wanted - actual;
  20. diff = diff < 0.0f ? -diff : diff;
  21. if(diff < error) {
  22. successTests++;
  23. } else {
  24. (void)text;
  25. LOG_ERROR("# Test #: # - expected '#' got '#'", name, tests, text,
  26. wanted, actual)
  27. }
  28. }
  29. void Core::Test::checkTrue(bool actual, const char* text) {
  30. checkEqual(true, actual, text);
  31. }
  32. void Core::Test::checkFalse(bool actual, const char* text) {
  33. checkEqual(false, actual, text);
  34. }
  35. void Core::Test::checkUnsigned8(u8 wanted, u8 actual, const char* text) {
  36. checkEqual(wanted, actual, text);
  37. }
  38. void Core::Test::checkUnsigned16(u16 wanted, u16 actual, const char* text) {
  39. checkEqual(wanted, actual, text);
  40. }
  41. void Core::Test::checkSigned8(i8 wanted, i8 actual, const char* text) {
  42. checkEqual(wanted, actual, text);
  43. }
  44. void Core::Test::checkSigned16(i16 wanted, i16 actual, const char* text) {
  45. checkEqual(wanted, actual, text);
  46. }