mathjs/test/unit-tests/expression/transform/apply.transform.test.js

24 lines
917 B
JavaScript

import assert from 'assert'
import math from '../../../../src/bundleAny'
const sum = math.sum
const apply = math.expression.transform.apply
describe('apply.transform', function () {
it('should apply a function to the rows of a matrix with one based indices', function () {
assert.deepStrictEqual(apply([[1, 2], [3, 4]], 1, sum), [4, 6])
})
it('should apply a function to the columns of a matrix with one based indices', function () {
assert.deepStrictEqual(apply([[1, 2], [3, 4]], 2, sum), [3, 7])
})
it('should throw an error if the dimension is below the range for one based indices', function () {
assert.throws(function () { apply([[1, 2], [3, 4]], 0, sum) }, /Index out of range/)
})
it('should throw an error if the dimension is above the range for one based indices', function () {
assert.throws(function () { apply([[1, 2], [3, 4]], 3, sum) }, /Index out of range/)
})
})