35 lines
1.2 KiB
JavaScript
35 lines
1.2 KiB
JavaScript
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);
|
|
}); |