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/) }) })