MCPcopy Create free account
hub / github.com/nodejs/node / assert_approx_equals

Function assert_approx_equals

test/fixtures/wpt/resources/testharness.js:1799–1819  ·  view source on GitHub ↗

* Assert that ``actual`` is within ± ``epsilon`` of ``expected``. * * @param {number} actual - Test value. * @param {number} expected - Value number is expected to be close to. * @param {number} epsilon - Magnitude of allowed difference between ``actual`` and ``expected``. *

(actual, expected, epsilon, description)

Source from the content-addressed store, hash-verified

1797 * @param {string} [description] - Description of the condition being tested.
1798 */
1799 function assert_approx_equals(actual, expected, epsilon, description)
1800 {
1801 /*
1802 * Test if two primitive numbers are equal within +/- epsilon
1803 */
1804 assert(typeof actual === "number",
1805 "assert_approx_equals", description,
1806 "expected a number but got a ${type_actual}",
1807 {type_actual:typeof actual});
1808
1809 // The epsilon math below does not place nice with NaN and Infinity
1810 // But in this case Infinity = Infinity and NaN = NaN
1811 if (isFinite(actual) || isFinite(expected)) {
1812 assert(Math.abs(actual - expected) <= epsilon,
1813 "assert_approx_equals", description,
1814 "expected ${expected} +/- ${epsilon} but got ${actual}",
1815 {expected:expected, actual:actual, epsilon:epsilon});
1816 } else {
1817 assert_equals(actual, expected);
1818 }
1819 }
1820 expose_assert(assert_approx_equals, "assert_approx_equals");
1821
1822 /**

Callers 4

expectFillColorFunction · 0.70
expectColorFunction · 0.70
basic.any.jsFile · 0.50
test_markFunction · 0.50

Calls 2

assertFunction · 0.70
assert_equalsFunction · 0.70

Tested by

no test coverage detected