30 lines
978 B
JavaScript
30 lines
978 B
JavaScript
|
|
const test = require('node:test');
|
||
|
|
const assert = require('node:assert/strict');
|
||
|
|
|
||
|
|
const { reverseCurve } = require('../../src/curves/reverseCurve');
|
||
|
|
|
||
|
|
test('reverseCurve: swaps x and y for each pressure key', () => {
|
||
|
|
const input = {
|
||
|
|
700: { x: [0, 50, 100], y: [0, 10, 20] },
|
||
|
|
800: { x: [0, 50, 100], y: [0, 11, 22] },
|
||
|
|
};
|
||
|
|
const out = reverseCurve(input);
|
||
|
|
assert.deepEqual(out['700'].x, [0, 10, 20]);
|
||
|
|
assert.deepEqual(out['700'].y, [0, 50, 100]);
|
||
|
|
assert.deepEqual(out['800'].x, [0, 11, 22]);
|
||
|
|
assert.deepEqual(out['800'].y, [0, 50, 100]);
|
||
|
|
});
|
||
|
|
|
||
|
|
test('reverseCurve: returns a fresh object with cloned arrays', () => {
|
||
|
|
const input = { 700: { x: [1, 2], y: [3, 4] } };
|
||
|
|
const out = reverseCurve(input);
|
||
|
|
out['700'].x.push(999);
|
||
|
|
assert.deepEqual(input['700'].x, [1, 2]);
|
||
|
|
assert.deepEqual(input['700'].y, [3, 4]);
|
||
|
|
});
|
||
|
|
|
||
|
|
test('reverseCurve: handles empty input', () => {
|
||
|
|
assert.deepEqual(reverseCurve({}), {});
|
||
|
|
assert.deepEqual(reverseCurve(null), {});
|
||
|
|
});
|