Assertion.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. const Helpers = require("../tests/helpers");
  2. const assert = require("assert");
  3. const Helper = require("@codeceptjs/helper");
  4. // used in Audio/Video/Paragraphs sync
  5. const TIME_DIFF_THRESHOLD = 0.3;
  6. class AssertionHelper extends Helper {
  7. assertDeepEqualWithTolerance(actual, expected, fractionDigits = 2, message) {
  8. assert.deepStrictEqual(
  9. Helpers.convertToFixed(actual, fractionDigits),
  10. Helpers.convertToFixed(expected, fractionDigits),
  11. message,
  12. );
  13. }
  14. assertNotDeepEqualWithTolerance(actual, expected, fractionDigits = 2, message) {
  15. assert.notDeepStrictEqual(
  16. Helpers.convertToFixed(actual, fractionDigits),
  17. Helpers.convertToFixed(expected, fractionDigits),
  18. message,
  19. );
  20. }
  21. /**
  22. * Asserts that two times are equal after sync (with some possible threshold)
  23. * @param {number} time1
  24. * @param {number} time2
  25. * @param {string} [message] for assertion
  26. */
  27. assertTimesInSync(time1, time2, message = "") {
  28. assert.equal(Math.abs(time1 - time2) < TIME_DIFF_THRESHOLD, true, message);
  29. }
  30. }
  31. module.exports = AssertionHelper;