mathjslab
Version:
MathJSLab - An interpreter with language syntax like MATLAB®/Octave. ISBN 978-65-00-82338-7
38 lines (31 loc) • 1.24 kB
text/typescript
import { ComplexDecimal } from './complex-decimal';
import { Evaluator } from './evaluator';
import { MultiArray } from './multi-array';
let evaluator: Evaluator;
describe('MultiArray', () => {
beforeEach(async () => {
evaluator = Evaluator.initialize();
});
it('ComplexDecimal should be defined', () => {
expect(ComplexDecimal).toBeDefined();
});
it('MultiArray should be defined', () => {
expect(MultiArray).toBeDefined();
}, 100);
it('Evaluator should be defined', () => {
expect(Evaluator).toBeDefined();
}, 100);
it('The determinant must be correctly calculated', () => {
let tree: any;
let value: any;
tree = evaluator.Parse('det([1:3;4:6;7:9])');
value = evaluator.Evaluate(tree);
expect(value.list[0].re.toNumber()).toBe(0);
tree = evaluator.Parse('det([2,1,-3; 3,2,4; 2,5,-2])');
value = evaluator.Evaluate(tree);
expect(value.list[0].re.toNumber()).toBe(-67);
tree = evaluator.Parse('det([-7,6,3,1; -9,1,6,4; -8,-4,3,6; -5,5,9,2])');
value = evaluator.Evaluate(tree);
expect(value.list[0].re.toNumber()).toBe(-444);
}, 1000);
});