The bogus machineCurve default at pressure "1" (fixed in generalFunctions 086e5fe) made fValues.min=1, which let sub-curve differentials pass unclamped. With the fix, fValues.min=70000 (the real curve minimum) and low differentials get clamped. Three tests that accidentally depended on the bogus min=1 behavior are updated: - coolprop test: expects fDimension clamped to curve minimum when differential < curve range - pressure-initialization test: uses pressures whose differential falls WITHIN the curve range (900 mbar = 90000 Pa > 70000 Pa minimum) - sequences test: tests upper-bound constraint with setpoint > max, then confirms a valid setpoint is applied as-is (was incorrectly asserting any setpoint would be clamped to max) Trace instrumentation from debugging session removed. 91/91 tests green. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
30 lines
1.3 KiB
JavaScript
30 lines
1.3 KiB
JavaScript
const test = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
|
|
const Machine = require('../../src/specificClass');
|
|
const { makeMachineConfig, makeStateConfig } = require('../helpers/factories');
|
|
|
|
test('execSequence startup reaches operational with zero transition times', async () => {
|
|
const machine = new Machine(makeMachineConfig(), makeStateConfig());
|
|
|
|
await machine.handleInput('parent', 'execSequence', 'startup');
|
|
|
|
assert.equal(machine.state.getCurrentState(), 'operational');
|
|
});
|
|
|
|
test('execMovement constrains controller position to safe bounds in operational state', async () => {
|
|
const machine = new Machine(makeMachineConfig(), makeStateConfig({ state: { current: 'operational' } }));
|
|
const { min, max } = machine._resolveSetpointBounds();
|
|
|
|
// Test upper constraint: setpoint above max gets clamped to max
|
|
await machine.handleInput('parent', 'execMovement', max + 50);
|
|
let pos = machine.state.getCurrentPosition();
|
|
assert.equal(pos, max, `setpoint above max should be clamped to ${max}`);
|
|
|
|
// Test that a valid setpoint within bounds is applied as-is
|
|
await machine.handleInput('parent', 'execMovement', 10);
|
|
pos = machine.state.getCurrentPosition();
|
|
assert.equal(pos, 10, 'setpoint within bounds should be applied as-is');
|
|
assert.ok(pos >= min && pos <= max);
|
|
});
|