import assert from 'node:assert/strict'; import test from 'node:test'; import { inferBloodPressureContext, markSuspectVsBaseline, resolveQualityAfterConfirm, validateBloodPressurePair, } from './health-observation-validate.mjs'; test('blood pressure range and ordering', () => { assert.equal(validateBloodPressurePair(128, 76).ok, true); assert.equal(validateBloodPressurePair(50, 40).ok, false); assert.equal(validateBloodPressurePair(120, 130).ok, false); }); test('context is inferred from clock hour', () => { assert.equal(inferBloodPressureContext('2026-09-02T07:20:00+08:00'), 'morning'); assert.equal(inferBloodPressureContext('2026-09-02T21:10:00+08:00'), 'evening'); assert.equal(inferBloodPressureContext('2026-09-02T14:00:00+08:00'), 'other'); }); test('large baseline deviation is suspect until the user confirms', () => { const marked = markSuspectVsBaseline(190, 120); assert.equal(marked.suspect, true); assert.equal(resolveQualityAfterConfirm({ suspect: true, userCorrected: false }), 'ok'); assert.equal(resolveQualityAfterConfirm({ suspect: true, userCorrected: true }), 'user_corrected'); });