#!/usr/bin/env node // Energie du chauffe-eau sur 24 h (07/10/2026). Usage : node tests/allers-retours/chauffe-eau.mjs import { energieSur24h, energieDepuis } from '../../tools/chauffe-eau.mjs'; let ok = 0, ko = 0; const v = (n, a, b) => { if (a === b) { ok++; console.log(`✅ ${n}`); } else { ko++; console.log(`❌ ${n} : attendu ${b}, obtenu ${a}`); } }; const s = (...x) => x.map((state) => ({ state: String(state) })); v('journee-du-06-10', energieSur24h(s(12.739, 13.04, 14.23, 15.42, 16.57, 17.74, 18.15, 18.233)), 5.49); v('compteur-immobile-0-kwh', energieSur24h(s(18.254)), 0); v('indisponible-ignore', energieSur24h(s(10, 'unavailable', 11)), 1); v('remise-a-zero-sans-negatif', energieSur24h(s(10, 11, 0, 0.5)), 1.5); v('illisible-null', energieSur24h(s('unavailable')), null); const p = (iso, state) => ({ last_changed: iso, state: String(state) }); const serie = [p('2026-10-06T20:00:00Z', 18.0), p('2026-10-07T05:00:00Z', 18.2), p('2026-10-07T06:00:00Z', 18.6), p('2026-10-07T08:00:00Z', 19.1)]; v('depuis-07h24-reference-avant-la-borne', energieDepuis(serie, Date.parse('2026-10-07T05:24:00Z')), 0.9); console.log(ko ? `\n${ko} ECHEC(S)` : `\nCHAUFFE-EAU 24 H OK — ${ok}/${ok}`); process.exit(ko ? 1 : 0);