Skip to content
This repository has been archived by the owner on Jun 5, 2024. It is now read-only.

A QUnit plugin for asserting that a number is approximately equal (or not) to an expected number, within a given tolerance.

Notifications You must be signed in to change notification settings

JamesMGreene/qunit-assert-close

Repository files navigation

Unmaintained

⚠️ If you are using QUnit >= 2.21.0, please use the built-in assert.closeTo() method instead.


Build Status NPM version

QUnit Close assertion plugin

This plugin for QUnit adds close, notClose, close.percent, and notClose.percent assertion methods to test that a number is approximately equal (or not) to an expected number, within a given tolerance.

Usage

assert.close(actual, expected, maxDifference, message);

assert.notClose(actual, expected, minDifference, message);

assert.close.percent(actual, expected, maxPercentDifference, message);
// Alternatively:
assert.closePercent(actual, expected, maxPercentDifference, message);

assert.notClose.percent(actual, expected, minPercentDifference, message);
// Alternatively:
assert.notClosePercent(actual, expected, minPercentDifference, message);

Where:

  • maxDifference: the maximum inclusive difference allowed (tolerance) between the actual and expected numbers
  • minDifference: the minimum exclusive difference allowed (tolerance) between the actual and expected numbers
  • actual, expected, message: The usual

Examples

Example 1: Number differences

QUnit.test('Example number unit test', function(assert) {
  assert.close(3.141, Math.PI, 0.001);
  assert.notClose(3.1, Math.PI, 0.001);
});

Example 2: Percentage differences

QUnit.test('Example percentage unit test', function(assert) {
  assert.close.percent(155, 150, 3.4);     // Difference is ~3.33%
  assert.notClose.percent(156, 150, 3.5);  // Difference is 4.0%
});

For more examples, refer to the unit tests.

About

A QUnit plugin for asserting that a number is approximately equal (or not) to an expected number, within a given tolerance.

Resources

Stars

Watchers

Forks

Packages

No packages published