const test = require('node:test'); const assert = require('node:assert/strict'); const { Reactor_CSTR } = require('../../src/specificClass'); const { makeReactorConfig } = require('../helpers/factories'); const NUM_SPECIES = 13; test('Reactor_CSTR tick clips negative concentrations to zero', () => { const reactor = new Reactor_CSTR( makeReactorConfig({ reactor_type: 'CSTR', volume: 1, n_inlets: 1, kla: NaN, S_O_init: 0.1, S_I_init: 0.1, S_S_init: 0.1, S_NH_init: 0.1, S_N2_init: 0.1, S_NO_init: 0.1, S_HCO_init: 0.1, X_I_init: 0.1, X_S_init: 0.1, X_H_init: 0.1, X_STO_init: 0.1, X_A_init: 0.1, X_TS_init: 0.1, }), ); reactor.asm = { compute_dC: () => Array(NUM_SPECIES).fill(0), }; reactor.Fs[0] = 1; reactor.Cs_in[0] = Array(NUM_SPECIES).fill(0); reactor.tick(1); assert.equal(reactor.state.every((v) => Number.isFinite(v) && v >= 0), true); assert.equal(reactor.state.every((v) => v === 0), true); });