初始化系统融合软件代码仓库
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import {realEquipment,displayValue,effectiveEquipment,collectionState} from '../src/data.mjs';
|
||||
|
||||
test('real zero is preserved and missing values never become zero',()=>{
|
||||
assert.equal(displayValue(0,'m'),'0 m');
|
||||
assert.equal(displayValue(null,'m'),'—');
|
||||
assert.equal(displayValue(false),'否');
|
||||
assert.equal(displayValue({value:15}),'—');
|
||||
});
|
||||
test('simulated samples are excluded without borrowing another equipment value',()=>{
|
||||
const rows=realEquipment({equipment:[{id:'real',items:[{key:'a',value:0,quality:'GOOD'},{key:'b',value:15,quality:'SIMULATED'},{key:'c',value:7,sourceName:'模拟采集'},{key:'d',value:8,simulated:true}]},{id:'demo',sourceType:'SIMULATED',items:[]}]});
|
||||
assert.equal(rows.length,1);
|
||||
assert.deepEqual(rows[0].items.map(item=>item.key),['a']);
|
||||
assert.equal(rows[0].items[0].value,0);
|
||||
});
|
||||
test('bridge failure stops showing last equipment data as fresh',()=>{
|
||||
assert.equal(collectionState({state:'CONNECTED'},true),'ERROR');
|
||||
assert.equal(effectiveEquipment({id:'e',state:'RECEIVING',lastReceivedAt:123},'ERROR').state,'STALE');
|
||||
assert.equal(effectiveEquipment({id:'e',state:'RECEIVING',lastReceivedAt:null},'STALE').state,'NOT_RECEIVED');
|
||||
});
|
||||
Reference in New Issue
Block a user