35 lines
774 B
JavaScript
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);
|
|
}
|