open-energymesh-offline-fir.../test/test.js

35 lines
774 B
JavaScript

const assert = require('assert');
const {
EnergyMesh,
Inverter,
Meter
} = require('../src/mesh.js');
function run() {
// Create mesh
const mesh = new EnergyMesh();
// Create devices and components
const inv = new Inverter('inv1', 'dev-inv1', 1000, 600); // generates 600W
const meter = new Meter('m1', 'dev-mtr1', 400); // consumes 400W
mesh.addInverter(inv);
mesh.addMeter(meter);
const result = mesh.computeFlow();
// Expect generation > consumption by 200W
assert.strictEqual(result.generationW, 600);
assert.strictEqual(result.consumptionW, 400);
assert.strictEqual(result.netFlowW, 200);
}
try {
run();
console.log('ALL TESTS PASSED');
process.exit(0);
} catch (err) {
console.error('TEST FAILED', err);
process.exit(1);
}