From 747a86bb94006aaca721cfc0c0ce7061643a9ea6 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期四, 20 八月 2026 12:19:35 +0800
Subject: [PATCH] gx
---
test/tcp-simulator.test.js | 40 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 39 insertions(+), 1 deletions(-)
diff --git a/test/tcp-simulator.test.js b/test/tcp-simulator.test.js
index 97427e4..7e5278e 100644
--- a/test/tcp-simulator.test.js
+++ b/test/tcp-simulator.test.js
@@ -1,5 +1,12 @@
const assert = require('assert');
-const { buildBloodPressureFrame, parseBloodPressureTimeText } = require('../tcp-simulator');
+const fs = require('fs');
+const os = require('os');
+const path = require('path');
+const {
+ buildBloodPressureFrame,
+ parseBloodPressureTimeText,
+ prepareSimulation,
+} = require('../tcp-simulator');
describe('tcp-simulator', () => {
it('parses blood pressure time text', () => {
@@ -23,4 +30,35 @@
'AA 55 0E BA 00 78 50 59 1A 04 0F 09 1E 3C',
);
});
+
+ it('can append a blood pressure frame to file mode simulation', () => {
+ const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'tcp-simulator-'));
+ const framesFile = path.join(tempDir, 'frames.txt');
+ fs.writeFileSync(framesFile, 'EE 55 01 00 00 01 72 74\n', 'utf8');
+
+ try {
+ const prepared = prepareSimulation({
+ mode: 'file',
+ framesFile,
+ scenarioConfig: null,
+ includeBloodPressure: true,
+ bpSystolic: 120,
+ bpDiastolic: 80,
+ bpPulse: 89,
+ bpTime: '2026-04-15 09:30',
+ bpIncludeTime: true,
+ });
+
+ assert.strictEqual(prepared.frames.length, 2);
+ assert.strictEqual(prepared.frames[1].raw, 'AA 55 0E BA 00 78 50 59 1A 04 0F 09 1E 3C');
+ assert.deepStrictEqual(prepared.analysis.snapshot, {
+ F: 37,
+ N: 120,
+ O: 80,
+ P: 89,
+ });
+ } finally {
+ fs.rmSync(tempDir, { recursive: true, force: true });
+ }
+ });
});
--
Gitblit v1.8.0