56 lines
1.3 KiB
JavaScript
56 lines
1.3 KiB
JavaScript
const {test} = require('node:test');
|
|
const assert = require('node:assert');
|
|
const MonitorRecord = require('../../src/engine/monitor-record');
|
|
|
|
test('new and get', () => {
|
|
const record = new MonitorRecord({
|
|
id: 'a',
|
|
x: 10,
|
|
y: 20
|
|
});
|
|
|
|
assert.strictEqual(record.id, 'a');
|
|
assert.strictEqual(record.x, 10);
|
|
assert.strictEqual(record.y, 20);
|
|
|
|
assert.strictEqual(record.get('id'), 'a');
|
|
assert.strictEqual(record.get('x'), 10);
|
|
assert.strictEqual(record.get('y'), 20);
|
|
});
|
|
|
|
test('merge', () => {
|
|
const record = new MonitorRecord({
|
|
id: 'a',
|
|
x: 10,
|
|
y: 20
|
|
});
|
|
|
|
assert.strictEqual(record.merge({
|
|
x: 40,
|
|
y: null
|
|
}), true);
|
|
assert.strictEqual(record.x, 40);
|
|
assert.strictEqual(record.y, 20);
|
|
|
|
assert.strictEqual(record.merge({
|
|
x: 40,
|
|
y: undefined
|
|
}), false);
|
|
assert.strictEqual(record.x, 40);
|
|
assert.strictEqual(record.y, 20);
|
|
});
|
|
|
|
test('externalDeltaToJS', () => {
|
|
assert.deepEqual(MonitorRecord.externalDeltaToJS({
|
|
whatever: 'a'
|
|
}), {whatever: 'a'});
|
|
|
|
assert.deepEqual(MonitorRecord.externalDeltaToJS({
|
|
toJS: () => ({whatever: 'a'})
|
|
}), {whatever: 'a'});
|
|
|
|
assert.deepEqual(MonitorRecord.externalDeltaToJS(
|
|
new Map([['whatever', 'a']])
|
|
), {whatever: 'a'});
|
|
});
|