test : le rejeu de borne part d'une date fixe

rejouerBorne() partait de l'horloge murale, comme le test de
reproduction devait le faire tant que l'écart était daté à l'horloge
murale. Le moteur n'en dépend plus, et l'enregistreur `decisions` date
les cycles : la référence n'était pas reproductible à la milliseconde
près. Mêmes chiffres de rejeu avec une date fixe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Patrick Schurig 2026-10-25 19:40:11 +01:00
parent e856c48084
commit c9e4a251ca

View File

@ -9148,10 +9148,10 @@ QList<Simulation::CycleBorne> Simulation::rejouerBorne(const QString &nom, const
// Cycle d'amorce SANS surplus : la borne reçoit son entrée de configuration et reste // Cycle d'amorce SANS surplus : la borne reçoit son entrée de configuration et reste
// coupée. On lui désigne ensuite son compteur, avant la première marche. // coupée. On lui désigne ensuite son compteur, avant la première marche.
// L'horloge murale sert de base. Le moteur corrigé n'en dépend plus (l'écart est daté en // Date FIXE : l'écart est daté en temps de cycle, plus à l'horloge murale. Partir de
// temps de cycle), mais celui d'avant y datait `since` : la garder rend le même rejeu // l'horloge murale, comme le test de reproduction devait le faire, rendrait la preuve
// comparable sur les deux. // `decisions` irreproductible (les cycles y sont datés).
const QDateTime t0 = QDateTime::currentDateTimeUtc(); const QDateTime t0 = utcDateTime(QDate(2026, 6, 25), QTime(12, 0, 0));
meter->setStateValue("currentPower", MaisonW); meter->setStateValue("currentPower", MaisonW);
arb->simulationCallUpdate(t0.addSecs(-60)); arb->simulationCallUpdate(t0.addSecs(-60));
QCoreApplication::processEvents(); QCoreApplication::processEvents();