Patrick Schurig d87a132f23 sunspec: add failing tests for every acceptance criterion
One test per AC of specs/fronius-sunspec.md, named test_AC_<n>_<what>.

Definition criteria (value ranges, thing classes, defaults) are checked by
re-reading integrationpluginsunspec.json. Behaviour criteria run either on
a model 124 register dump fed to the real libnymea-sunspec model, or on the
pure logic units the plugin is about to grow.

All red at this point: sunspecstoragelogic and froniusrules do not exist
yet, so the suite does not compile. That is the expected starting state.
2026-07-31 10:16:12 +02:00

31 lines
943 B
Prolog

include(../../sunspec.pri)
QT += testlib
QT -= gui
CONFIG += console testcase
CONFIG -= app_bundle
TEMPLATE = app
TARGET = tst_sunspec
# Les tests pilotent la logique pure du plugin. Ils ne chargent pas le plugin
# nymea lui-meme : cela demanderait un ThingManager, un PluginTimer et un
# NetworkDeviceDiscovery, c'est-a-dire un nymead complet. Ce qui est teste ici,
# c'est ce que le plugin *decide* ; ce qu'il emet reellement sur le bus releve
# du banc (voir "Non verifiable par les tests unitaires" dans
# specs/fronius-sunspec.md).
INCLUDEPATH += ..
# Chemin du JSON de definition du plugin, pour les criteres qui portent sur les
# thingClasses et leurs plages de valeurs (AC-1, AC-7, AC-8, AC-10).
DEFINES += PLUGIN_JSON_PATH=\\\"$$PWD/../integrationpluginsunspec.json\\\"
SOURCES += \
tst_sunspec.cpp \
../sunspecstoragelogic.cpp \
../froniusrules.cpp
HEADERS += \
../sunspecstoragelogic.h \
../froniusrules.h