39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
const test = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
|
|
const { Reactor_CSTR, Reactor_PFR } = require('../../src/specificClass');
|
|
const { makeReactorConfig } = require('../helpers/factories');
|
|
|
|
test('CSTR getEffluent returns flat concentration vector', () => {
|
|
const reactor = new Reactor_CSTR(makeReactorConfig({ reactor_type: 'CSTR', n_inlets: 1 }));
|
|
reactor.state = Array.from({ length: 13 }, (_, i) => i + 1);
|
|
reactor.Fs[0] = 5;
|
|
|
|
const effluent = reactor.getEffluent;
|
|
|
|
assert.equal(effluent.topic, 'Fluent');
|
|
assert.equal(effluent.payload.inlet, 0);
|
|
assert.equal(effluent.payload.F, 5);
|
|
assert.deepEqual(effluent.payload.C, reactor.state);
|
|
});
|
|
|
|
test('PFR getEffluent returns last slice concentration vector', () => {
|
|
const reactor = new Reactor_PFR(
|
|
makeReactorConfig({ reactor_type: 'PFR', n_inlets: 1, length: 10, resolution_L: 4 }),
|
|
);
|
|
|
|
reactor.state = [
|
|
Array(13).fill(10),
|
|
Array(13).fill(20),
|
|
Array(13).fill(30),
|
|
Array(13).fill(40),
|
|
];
|
|
reactor.Fs[0] = 7;
|
|
|
|
const effluent = reactor.getEffluent;
|
|
|
|
assert.equal(effluent.topic, 'Fluent');
|
|
assert.equal(effluent.payload.F, 7);
|
|
assert.deepEqual(effluent.payload.C, Array(13).fill(40));
|
|
});
|