deno.land / x / simplestatistics@v7.8.3 / test / approx_equal.test.js
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364/* eslint no-shadow: 0 */
const test = require("tap").test;const ss = require("../dist/simple-statistics.js");
const EPS = ss.epsilon;const HALF_EPS = ss.epsilon / 2;const TWO_EPS = ss.epsilon * 2;
test("approximate strict equality", function (t) { t.test("handles equal values", function (t) { t.ok(ss.approxEqual(14.5, 14.5)); t.end(); });
t.test("handles values separated by less than epsilon", function (t) { t.ok(ss.approxEqual(1, 1 + HALF_EPS)); t.end(); });
t.test("handles values separated by more than epsilon", function (t) { t.ok(!ss.approxEqual(1, 1 + TWO_EPS)); t.end(); });
t.test( "handles values separated by relatively less than epsilon", function (t) { t.ok(ss.approxEqual(100, 100 + 99 * ss.epsilon)); t.end(); } );
t.test( "handles values separated by relatively more than epsilon", function (t) { t.ok(!ss.approxEqual(100, 100 + 101 * ss.epsilon)); t.end(); } );
t.test("handles negative values", function (t) { t.ok(ss.approxEqual(-10, -10)); t.ok(ss.approxEqual(-10 - EPS, -10)); t.ok(!ss.approxEqual(-10 - 11 * EPS, -10)); t.ok(!ss.approxEqual(-10, 10)); t.end(); });
t.test("handles larger tolerances", function (t) { t.ok(!ss.approxEqual(1, 2)); t.ok(ss.approxEqual(1, 2, 1.5)); t.end(); });
t.test("handles values near zero", function (t) { t.ok(!ss.approxEqual(1, 0)); t.ok(!ss.approxEqual(0, 1)); t.end(); });
t.end();});
Version Info