You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.9KB

  1. #pragma once
  2. #include "AudioMath.h"
  3. #include <assert.h>
  4. #include <iostream>
  5. /**
  6. * Our own little assert library, loosely inspired by Chai Assert.
  7. *
  8. * Will print information on failure, then generate a "real" assertion
  9. */
  10. #define assertEQEx(actual, expected, msg) if (actual != expected) { \
  11. std::cout << "assertEq failed " << msg << " actual value =" << \
  12. actual << " expected=" << expected << std::endl; \
  13. assert(false); }
  14. #define assertEQ(actual, expected) assertEQEx(actual, expected, "")
  15. #define assertNEEx(actual, expected, msg) if (actual == expected) { \
  16. std::cout << "assertNE failed " << msg << " did not expect " << \
  17. actual << " to be == to " << expected << std::endl; \
  18. assert(false); }
  19. #define assertNE(actual, expected) assertNEEx(actual, expected, "")
  20. #define assertClose(actual, expected, diff) if (!AudioMath::closeTo(actual, expected, diff)) { \
  21. std::cout << "assertClose failed actual value =" << \
  22. actual << " expected=" << expected << std::endl << std::flush; \
  23. assert(false); }
  24. // assert less than
  25. #define assertLT(actual, expected) if ( actual >= expected) { \
  26. std::cout << "assertLt " << expected << " actual value = " << \
  27. actual << std::endl ; \
  28. assert(false); }
  29. // assert less than or equal to
  30. #define assertLE(actual, expected) if ( actual > expected) { \
  31. std::cout << "assertLE " << expected << " actual value = " << \
  32. actual << std::endl ; \
  33. assert(false); }
  34. // assert greater than
  35. #define assertGT(actual, expected) if ( actual <= expected) { \
  36. std::cout << "assertGT " << expected << " actual value = " << \
  37. actual << std::endl ; \
  38. assert(false); }
  39. // assert greater than or equal to
  40. #define assertGE(actual, expected) if ( actual < expected) { \
  41. std::cout << "assertGE " << expected << " actual value = " << \
  42. actual << std::endl ; \
  43. assert(false); }
  44. // leave space after macro