mathjs/test/function/matrix/squeeze.test.js

34 lines
1.1 KiB
JavaScript

// test squeeze
var assert = require('assert'),
error = require('../../../lib/error/index'),
math = require('../../../index'),
squeeze = math.squeeze,
size = math.size,
matrix = math.matrix;
describe('squeeze', function() {
it('should squeeze an matrix', function() {
var m = math.ones(matrix([1,3,2]));
assert.deepEqual(size(m), matrix([1,3,2]));
assert.deepEqual(size(m.valueOf()), [1,3,2]);
assert.deepEqual(size(squeeze(m)), matrix([3,2]));
m = math.ones(matrix([1,1,3]));
assert.deepEqual(size(m), matrix([1,1,3]));
assert.deepEqual(size(squeeze(m)), matrix([3]));
assert.deepEqual(size(squeeze(math.range(1,6))), matrix([5]));
assert.deepEqual(squeeze(2.3), 2.3);
assert.deepEqual(squeeze(matrix([[5]])), 5);
});
it('should squeeze an array', function() {
assert.deepEqual(squeeze([[2,3]]), [2,3]);
});
it('should throw an error if called with an invalid number of arguments', function() {
assert.throws(function () {squeeze()}, error.ArgumentsError);
assert.throws(function () {squeeze(1,2)}, error.ArgumentsError);
});
});