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); }