Skip to content

Commit 4b30725

Browse files
committed
test: add tests for utils/mathUtils::applyTransform
1 parent 3ddd5c2 commit 4b30725

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

src/utils/mathUtils.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
// Transform point by matrix
22
//
33
export function applyTransform(p, m) {
4-
let xt = p[0] * m[0] + p[1] * m[2] + m[4];
5-
let yt = p[0] * m[1] + p[1] * m[3] + m[5];
6-
return [xt, yt];
4+
return [
5+
p[0] * m[0] + p[1] * m[2] + m[4],
6+
p[0] * m[1] + p[1] * m[3] + m[5]
7+
];
78
};
89

910
// Transform point by matrix inverse
1011
//
1112
export function applyInverseTransform(p, m) {
1213
let d = m[0] * m[3] - m[1] * m[2];
13-
let xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
14-
let yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
15-
return [xt, yt];
14+
return [
15+
(p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d,
16+
(-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d
17+
];
1618
};
1719

1820
// Concatenates two transformation matrices together and returns the result.

test/utils/mathUtils.spec.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import * as mathUtils from '../../src/utils/mathUtils';
2+
import { deepStrictEqual } from 'assert';
3+
4+
describe('mathUtils', () => {
5+
describe('mathUtils::applyTransform', () => {
6+
it('multiple matrixes all zeroes', () => {
7+
let p = [0, 0];
8+
let m = [0, 0, 0, 0, 0, 0];
9+
deepStrictEqual(mathUtils.applyTransform(p, m), [0, 0]);
10+
});
11+
12+
it('multiple matrixes', () => {
13+
let p = [5, 3, 10];
14+
let m = [1, 3, 2, 4, 5, 2];
15+
deepStrictEqual(mathUtils.applyTransform(p, m), [16, 29]);
16+
});
17+
});
18+
});

0 commit comments

Comments
 (0)