const assert = require("node:assert/strict"); const { test } = require("node:test"); const { buildChartConfiguration, normalizeJsonSeries } = require("../plot-json"); test("travel stability data plots pressure against motor distance", () => { const normalized = normalizeJsonSeries({ stable_pressures: [ { distance: 1000, pressure: 12.3 }, { distance: 900, pressure: 15.6 }, { distance: 800, pressure: 18.1 } ] }); assert.deepEqual(normalized.labels, [1000, 900, 800]); assert.deepEqual(normalized.series, [{ label: "pressure", data: [ { x: 1000, y: 12.3 }, { x: 900, y: 15.6 }, { x: 800, y: 18.1 } ] }]); assert.equal(normalized.chartKind, "travel-stability"); assert.equal(normalized.xLabel, "行程"); assert.equal(normalized.yLabel, "稳态压力 (kPa)"); const chart = buildChartConfiguration(normalized, "travel.json"); assert.equal(chart.type, "scatter"); assert.equal(chart.options.scales.x.type, "linear"); assert.equal(chart.options.scales.x.min, 0); assert.equal(chart.options.scales.x.max, 1000); assert.equal(chart.options.plugins.travelPointLabels, true); assert.equal(chart.data.datasets[0].pointRadius, 4); });