Skip to content

Commit

Permalink
Fixed failing tests
Browse files Browse the repository at this point in the history
  • Loading branch information
dvd101x committed Apr 6, 2024
1 parent a761260 commit a073665
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 10 deletions.
18 changes: 12 additions & 6 deletions test/unit-tests/utils/bignumber/nearlyEqual.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ describe('nearlyEqual', function () {
it('should test whether two small numbers are nearly equal (always true)', function () {
const epsilon = 1e-2
assert.strictEqual(nearlyEqual(new BigNumber('1e-200'), new BigNumber('0.99e-200'), epsilon, epsilon * 1e-3), true)
assert.strictEqual(nearlyEqual(new BigNumber('1e-200'), new BigNumber('10e-200'), epsilon, epsilon * 1e-3), false)
assert.strictEqual(nearlyEqual(new BigNumber('1e-200'), new BigNumber('10e-200'), epsilon, epsilon * 1e-3), true)
})

it('should compare with zero', function () {
Expand All @@ -52,7 +52,7 @@ describe('nearlyEqual', function () {
assert.strictEqual(nearlyEqual(new BigNumber(0), new BigNumber(-0), epsilon, epsilon * 1e-3), true)
assert.strictEqual(nearlyEqual(new BigNumber(0), new BigNumber(1.2), epsilon, epsilon * 1e-3), false)
assert.strictEqual(nearlyEqual(new BigNumber(0), new BigNumber(1e30), epsilon, epsilon * 1e-3), false)
assert.strictEqual(nearlyEqual(new BigNumber(0), new BigNumber(1e-30), epsilon, epsilon * 1e-3), false)
assert.strictEqual(nearlyEqual(new BigNumber(0), new BigNumber(1e-3), epsilon, epsilon * 1e-3), false)
})

it('should compare with Infinity', function () {
Expand All @@ -73,11 +73,17 @@ describe('nearlyEqual', function () {
assert.strictEqual(nearlyEqual(new BigNumber(NaN), new BigNumber(NaN), epsilon, epsilon * 1e-3), false)
})

it('should do exact comparison when epsilon is null or undefined', function () {
it('should use default values when absTol and relTol are undefined', function () {
assert.strictEqual(nearlyEqual(new BigNumber(1.2), new BigNumber(1.2)), true)
assert.strictEqual(nearlyEqual(new BigNumber(1.2), new BigNumber(1.2), null), true)
assert.strictEqual(nearlyEqual(new BigNumber(1.2), new BigNumber(1.2), undefined), true)
assert.strictEqual(nearlyEqual(new BigNumber(1.2), new BigNumber(1.2), undefined, undefined), true)

assert.strictEqual(nearlyEqual(new BigNumber(1.2).plus(1e-18), new BigNumber(1.2)), false)
assert.strictEqual(nearlyEqual(new BigNumber(1.2).plus(1e-18), new BigNumber(1.2), null), false)
assert.strictEqual(nearlyEqual(new BigNumber(1.2).plus(1e-18), new BigNumber(1.2)), true)
assert.strictEqual(nearlyEqual(new BigNumber(1.2).plus(1e-18), new BigNumber(1.2), undefined), true)
assert.strictEqual(nearlyEqual(new BigNumber(1.2).plus(1e-18), new BigNumber(1.2), undefined, undefined), true)

assert.strictEqual(nearlyEqual(new BigNumber(1.2).plus(1e-8), new BigNumber(1.2)), false)
assert.strictEqual(nearlyEqual(new BigNumber(1.2).plus(1e-8), new BigNumber(1.2), undefined), false)
assert.strictEqual(nearlyEqual(new BigNumber(1.2).plus(1e-8), new BigNumber(1.2), undefined, undefined), false)
})
})
14 changes: 10 additions & 4 deletions test/unit-tests/utils/number.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -576,12 +576,18 @@ describe('number', function () {
assert.strictEqual(nearlyEqual(NaN, NaN, epsilon, epsilon * 1e-3), false)
})

it('should do exact comparison when rtol is null or undefined', function () {
it('should use default values when absTol and relTol are undefined', function () {
assert.strictEqual(nearlyEqual(1.2, 1.2), true)
assert.strictEqual(nearlyEqual(1.2, 1.2, null, 0), true)
assert.strictEqual(nearlyEqual(1.2, 1.2, undefined), true)
assert.strictEqual(nearlyEqual(1.2, 1.2, undefined, undefined), true)

assert.strictEqual(nearlyEqual(0.1 + 0.2, 0.3), false)
assert.strictEqual(nearlyEqual(0.1 + 0.2, 0.3, null), false)
assert.strictEqual(nearlyEqual(0.1 + 0.2, 0.3), true)
assert.strictEqual(nearlyEqual(0.1 + 0.2, 0.3, undefined), true)
assert.strictEqual(nearlyEqual(0.1 + 0.2, 0.3, undefined, undefined), true)

assert.strictEqual(nearlyEqual(1.2 + 1e-8, 1.2), false)
assert.strictEqual(nearlyEqual(1.2 + 1e-8, 1.2, undefined), false)
assert.strictEqual(nearlyEqual(1.2 + 1e-8, 1.2, undefined, undefined), false)
})
})
})

0 comments on commit a073665

Please sign in to comment.