enhancedmath
Version:
This package contains some enhanced mathematical operations
65 lines (64 loc) • 1.93 kB
JavaScript
import { describe, expect, test } from 'vitest';
import determinant from '../Matrix/determinant';
describe('Matrix Determinant', () => {
test('should return the only value in a 1x1 matrix', () => {
const matrix = [[5]];
const result = determinant(matrix);
expect(result).toBe(5);
});
test('should return the determinant of a 2x2 matrix', () => {
const matrix = [
[ ],
[ ],
];
const result = determinant(matrix);
expect(result).toBe(-2);
});
test('should return the determinant for a 3x3 matrix', () => {
const matrix = [
[ ],
[ ],
[ ],
];
const result = determinant(matrix);
expect(result).toBe(0);
});
test('should return the determinant for a 3x3 matrix', () => {
const matrix = [
[ ],
[ ],
[ ],
];
const result = determinant(matrix);
expect(result).toBe(79);
});
test('should return the determinant for a 4x4 matrix', () => {
const matrix = [
[ ],
[ ],
[ ],
[ ],
];
const result = determinant(matrix);
expect(result).toBe(-1630);
});
test('should return the determinant for a 4x4 matrix', () => {
const matrix = [
[ ],
[ ],
[ ],
[ ],
[ ],
];
const result = determinant(matrix);
expect(result).toBe(-2849);
});
test('should return undefined for a non-square matrix', () => {
const matrix = [
[ ],
[ ],
];
const result = determinant(matrix);
expect(result).toBeUndefined();
});
});