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.
31 lines
943 B
Prolog
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
|