mathjs/test/unit-tests/plain/number/arithmetic.test.js
2024-05-22 08:46:14 +02:00

28 lines
930 B
JavaScript

import assert from 'assert'
import { approxEqual } from '../../../../tools/approx.js'
import { modNumber } from '../../../../src/plain/number/arithmetic.js'
describe('mod', function () {
it('should calculate the modulus of two numbers', function () {
assert.strictEqual(modNumber(1, 1), 0)
assert.strictEqual(modNumber(0, 1), 0)
assert.strictEqual(modNumber(1, 0), 1)
assert.strictEqual(modNumber(0, 0), 0)
assert.strictEqual(modNumber(7, 0), 7)
approxEqual(modNumber(7, 2), 1)
approxEqual(modNumber(9, 3), 0)
approxEqual(modNumber(10, 4), 2)
approxEqual(modNumber(-10, 4), 2)
approxEqual(modNumber(8.2, 3), 2.2)
approxEqual(modNumber(4, 1.5), 1)
approxEqual(modNumber(0, 3), 0)
approxEqual(modNumber(-10, 4), 2)
approxEqual(modNumber(-5, 3), 1)
})
it('should calculate mod for negative divisor', function () {
assert.strictEqual(modNumber(10, -4), -2)
})
})