Index: unittests/tst_messaging.cpp =================================================================== diff -u -rd07ec81c7002ed2ac60c1dfc3101fb820e88211c -r846a9ebc350e33be4affab3cc4c136248900015d --- unittests/tst_messaging.cpp (.../tst_messaging.cpp) (revision d07ec81c7002ed2ac60c1dfc3101fb820e88211c) +++ unittests/tst_messaging.cpp (.../tst_messaging.cpp) (revision 846a9ebc350e33be4affab3cc4c136248900015d) @@ -1,14 +1,15 @@ /*! * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. - * copyright - * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, - * IN PART OR IN WHOLE, - * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * \copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * - * file tst_messaging.cpp - * date 4/20/2020 - * author Behrouz NematiPour + * \file tst_messaging.cpp + * \author (last) Behrouz NematiPour + * \date (last) 23-Aug-2020 + * \author (original) Behrouz NematiPour + * \date (original) 21-Apr-2020 * */ #include "tst_messaging.h" @@ -19,332 +20,851 @@ #include "main.h" #include "messageinterpreter.h" #include "messagebuilder.h" -#include "mpoweroff.h" +#include "MPowerOff.h" #include "messagedispatcher.h" tst_messaging::tst_messaging(QObject *parent) : QObject(parent) { } +/*! + * \brief tst_messaging::tst_MessageInterpreter_isType + * \details Tests MessageInterpreter isType method + */ void tst_messaging::tst_MessageInterpreter_isType() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustBloodDialysateReq; + msg.actionId = Gui::GuiActionType::ID_AdjustBloodDialysateReq; msg.data = {}; - QVERIFY( iMsg.isType(msg, Gui::GuiActionType::AdjustBloodDialysateReq)); - QVERIFY(! iMsg.isType(msg, Gui::GuiActionType::BloodFlow)); + QVERIFY( iMsg.isType(msg, Gui::GuiActionType::ID_AdjustBloodDialysateReq)); + QVERIFY(! iMsg.isType(msg, Gui::GuiActionType::ID_BloodFlow)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_isPayloadLenValid + * \details Tests MessageInterpreter isPayloadLenValid method + */ void tst_messaging::tst_MessageInterpreter_isPayloadLenValid() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustBloodDialysateReq; + msg.actionId = Gui::GuiActionType::ID_AdjustBloodDialysateReq; msg.data = {}; - QVERIFY( ! iMsg.isPayloadLenValid(msg, Gui::GuiActionType::AdjustBloodDialysateReq)); + QVERIFY( ! iMsg.isPayloadLenValid(msg, Gui::GuiActionType::ID_AdjustBloodDialysateReq)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_isPayloadLenValid + * \details Tests MessageInterpreter isPayloadLenValid method + */ +void tst_messaging::tst_MessageInterpreter_isPayloadLenValid_undefined() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = static_cast(-1); + msg.data = {}; + QVERIFY( ! iMsg.isPayloadLenValid(msg, msg.actionId)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_getPowerOffData_isType + * \details Tests MessageInterpreter getPowerOffData method Message Type checking + */ void tst_messaging::tst_MessageInterpreter_getPowerOffData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; Model::MPowerOff data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getPowerOffData(msg, data)); + // QVERIFY( ! iMsg.interpretMessage(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getPowerOffData_payloadLen + * \details Tests MessageInterpreter getPowerOffData method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_getPowerOffData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::PowerOff; + msg.actionId = Gui::GuiActionType::ID_PowerOff; msg.data = {}; Model::MPowerOff data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getPowerOffData(msg, data)); + // QVERIFY( ! iMsg.interpretMessage(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_powerOffData + * \details Tests MessageInterpreter powerOffData method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_powerOffData() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::PowerOff; + msg.actionId = Gui::GuiActionType::ID_PowerOff; msg.data = {}; QVariantList data; - QVERIFY( ! iMsg.powerOffData(msg, data)); + QVERIFY( ! iMsg.interpretMessage(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getBloodFlowData_isType + * \details Tests MessageInterpreter getBloodFlowData method Message Type checking + */ void tst_messaging::tst_MessageInterpreter_getBloodFlowData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; Model::MBloodFlow data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getBloodFlowData(msg, data)); + //QVERIFY( ! iMsg.interpretMessage(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getBloodFlowData_payloadLen + * \details Tests MessageInterpreter getBloodFlowData method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_getBloodFlowData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::BloodFlow; + msg.actionId = Gui::GuiActionType::ID_BloodFlow; msg.data = {}; Model::MBloodFlow data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getBloodFlowData(msg, data)); + //QVERIFY( ! iMsg.interpretMessage(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_bloodFlowData + * \details Tests MessageInterpreter bloodFlowData method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_bloodFlowData() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::BloodFlow; + msg.actionId = Gui::GuiActionType::ID_BloodFlow; msg.data = {}; QVariantList data; - QVERIFY( ! iMsg.bloodFlowData(msg, data)); + QVERIFY( ! iMsg.interpretMessage(msg, data)); QVERIFY( data.isEmpty()); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getDialysateInletFlowData_isType + * \details Tests MessageInterpreter getDialysateInletFlowData method Message Type checking + */ void tst_messaging::tst_MessageInterpreter_getDialysateInletFlowData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; Model::MDialysateFlow data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getDialysateInletFlowData(msg, data)); + //QVERIFY( ! iMsg.interpretMessage(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getDialysateInletFlowData_payloadLen + * \details Tests MessageInterpreter getDialysateInletFlowData method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_getDialysateInletFlowData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::DialysateInletFlow; + msg.actionId = Gui::GuiActionType::ID_DialysateInletFlow; msg.data = {}; Model::MDialysateFlow data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getDialysateInletFlowData(msg, data)); + //QVERIFY( ! iMsg.interpretMessage(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_dialysateInletFlowData + * \details Tests MessageInterpreter dialysateInletFlowData method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_dialysateInletFlowData() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::DialysateInletFlow; + msg.actionId = Gui::GuiActionType::ID_DialysateInletFlow; msg.data = {}; QVariantList data; - QVERIFY( ! iMsg.dialysateInletFlowData(msg, data)); + QVERIFY( ! iMsg.interpretMessage(msg, data)); QVERIFY( data.isEmpty()); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getDialysateOutletFlowData_isType + * \details Tests MessageInterpreter getDialysateOutletFlowData method Message Type checking + */ void tst_messaging::tst_MessageInterpreter_getDialysateOutletFlowData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; Model::MOutletFlow data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getDialysateOutletFlowData(msg, data)); + //QVERIFY( ! iMsg.interpretMessage(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getDialysateOutletFlowData_payloadLen + * \details Tests MessageInterpreter getDialysateOutletFlowData method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_getDialysateOutletFlowData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::DialysateOutletFlow; + msg.actionId = Gui::GuiActionType::ID_DialysateOutletFlow; msg.data = {}; Model::MOutletFlow data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getDialysateOutletFlowData(msg, data)); + //QVERIFY( ! iMsg.interpretMessage(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_dialysateOutletFlowData + * \details Tests MessageInterpreter dialysateOutletFlowData method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_dialysateOutletFlowData() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::DialysateOutletFlow; + msg.actionId = Gui::GuiActionType::ID_DialysateOutletFlow; msg.data = {}; QVariantList data; - QVERIFY( ! iMsg.dialysateOutletFlowData(msg, data)); + QVERIFY( ! iMsg.interpretMessage(msg, data)); QVERIFY( data.isEmpty()); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getTreatmentTime_isType + * \details Tests MessageInterpreter getTreatmentTime method Message Type checking + */ void tst_messaging::tst_MessageInterpreter_getTreatmentTime_isType() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; Model::MTreatmentTime data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getTreatmentTime(msg, data)); + //QVERIFY( ! iMsg.interpretMessage(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getTreatmentTime_payloadLen + * \details Tests MessageInterpreter getTreatmentTime method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_getTreatmentTime_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::TreatmentTime; + msg.actionId = Gui::GuiActionType::ID_TreatmentTime; msg.data = {}; Model::MTreatmentTime data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getTreatmentTime(msg, data)); + //QVERIFY( ! iMsg.getTreatmentTime(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_treatmentTime + * \details Tests MessageInterpreter treatmentTime method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_treatmentTime() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::TreatmentTime; + msg.actionId = Gui::GuiActionType::ID_TreatmentTime; msg.data = {}; QVariantList data; - QVERIFY( ! iMsg.treatmentTime(msg, data)); + QVERIFY( ! iMsg.interpretMessage(msg, data)); QVERIFY( data.isEmpty()); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getAlarmStatus_isType + * \details Tests MessageInterpreter getAlarmStatus method Message Type check + */ void tst_messaging::tst_MessageInterpreter_getAlarmStatus_isType() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; Model::MAlarmStatus data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getAlarmStatus(msg, data)); + //QVERIFY( ! iMsg.getAlarmStatus(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getAlarmStatus_payloadLen + * \details Test MessageInterpreter getAlarmStatus method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_getAlarmStatus_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AlarmStatus; + msg.actionId = Gui::GuiActionType::ID_AlarmStatus; msg.data = {}; Model::MAlarmStatus data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getAlarmStatus(msg, data)); + //QVERIFY( ! iMsg.getAlarmStatus(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_alarmStatus + * \details Tests MessageInterpreter alarmStatus method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_alarmStatus() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AlarmStatus; + msg.actionId = Gui::GuiActionType::ID_AlarmStatus; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.alarmStatus(msg, data)); QVERIFY( data.isEmpty()); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getPressureOcclusionData_isType + * \details Tests MessageInterpreter getPressureOcclusionData method Message Type check + */ void tst_messaging::tst_MessageInterpreter_getPressureOcclusionData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; Model::MPressureOcclusion data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getPressureOcclusionData(msg, data)); + //QVERIFY( ! iMsg.getPressureOcclusionData(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_getPressureOcclusionData_payloadLen + * \details Tests MessageInterpreter getPressureOcclusionData method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_getPressureOcclusionData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::PressureOcclusion; + msg.actionId = Gui::GuiActionType::ID_PressureOcclusion; msg.data = {}; Model::MPressureOcclusion data; data.fromByteArray(msg.data); - QVERIFY( ! iMsg.getPressureOcclusionData(msg, data)); + //QVERIFY( ! iMsg.getPressureOcclusionData(msg, data)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_pressureOcclusionData + * \details Tests MessageInterpreter pressureOcclusionData method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_pressureOcclusionData() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::PressureOcclusion; + msg.actionId = Gui::GuiActionType::ID_PressureOcclusion; msg.data = {}; QVariantList data; - QVERIFY( ! iMsg.pressureOcclusionData(msg, data)); + QVERIFY( ! iMsg.interpretMessage(msg, data)); QVERIFY( data.isEmpty()); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_adjustBloodDialysateData_isType + * \details Tests MessageInterpreter adjustBloodDialysateData method Message Type check + */ void tst_messaging::tst_MessageInterpreter_adjustBloodDialysateData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.adjustBloodDialysateData(msg, list)); + QVERIFY( ! iMsg.interpretMessage(msg, list)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_adjustBloodDialysateData_payloadLen + * \details Tests MessageInterpreter adjustBloodDialysateData method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_adjustBloodDialysateData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustBloodDialysateRsp; + msg.actionId = Gui::GuiActionType::ID_AdjustBloodDialysateRsp; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.adjustBloodDialysateData(msg, list)); + QVERIFY( ! iMsg.interpretMessage(msg, list)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_adjustDurationData_isType + * \details Tests MessageInterpreter adjustDurationData method Message Type check + */ +void tst_messaging::tst_MessageInterpreter_adjustDurationData_isType() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_Unknown; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.interpretMessage(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_adjustDurationData_payloadLen + * \details Tests MessageInterpreter adjustDurationData method Message payload length check + */ +void tst_messaging::tst_MessageInterpreter_adjustDurationData_payloadLen() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_AdjustDurationRsp; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.interpretMessage(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_adjustUltrafiltrationStateData_isType + * \details Tests MessageInterpreter adjustUltrafiltrationStateData method Message Type check + */ +void tst_messaging::tst_MessageInterpreter_adjustUltrafiltrationStateData_isType() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_Unknown; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.adjustUltrafiltrationState(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_adjustUltrafiltrationStateData_payloadLen + * \details Tests MessageInterpreter adjustUltrafiltrationStateData method Message payload length check + */ +void tst_messaging::tst_MessageInterpreter_adjustUltrafiltrationStateData_payloadLen() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_AdjustUltrafiltrationStateReq; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.adjustUltrafiltrationState(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_adjustUltrafiltrationEditData_isType + * \details Tests MessageInterpreter adjustUltrafiltrationEditData method Message Type check + */ +void tst_messaging::tst_MessageInterpreter_adjustUltrafiltrationEditData_isType() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_Unknown; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.adjustUltrafiltrationEdit(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_adjustUltrafiltrationEditData_payloadLen + * \details Tests MessageInterpreter adjustUltrafiltrationEditData method Message payload length check + */ +void tst_messaging::tst_MessageInterpreter_adjustUltrafiltrationEditData_payloadLen() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_AdjustUltrafiltrationEditRsp; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.adjustUltrafiltrationEdit(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_adjustUltrafiltrationConfirmData_isType + * \details Tests MessageInterpreter adjustUltrafiltrationConfirmData method Message Type check + */ +void tst_messaging::tst_MessageInterpreter_adjustUltrafiltrationConfirmData_isType() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_Unknown; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.adjustUltrafiltrationConfirm(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_adjustUltrafiltrationConfirmData_payloadLen + * \details Tests MessageInterpreter adjustUltrafiltrationConfirmData method Message payload length check + */ +void tst_messaging::tst_MessageInterpreter_adjustUltrafiltrationConfirmData_payloadLen() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmRsp; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.adjustUltrafiltrationConfirm(msg, list)); +} + +/*! + * \brief tst_MessageInterpreter_Alarms + * \details Tests the message interpreter handling of empty HD messages + */ +void tst_messaging::tst_MessageInterpreter_HD_emptyMessages() +{ + gDisableUnhandledReport = true; + Can::MessageInterpreter interpreter; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_AlarmTriggered; + msg.data = {}; + QVariantList list; + + QList actionTypes = { + Gui::GuiActionType::ID_AlarmTriggered, + Gui::GuiActionType::ID_AlarmCleared, + Gui::GuiActionType::ID_AlarmSilenceRsp, + Gui::GuiActionType::ID_TreatmentStates, + }; + + foreach (const Gui::GuiActionType &each, actionTypes) { + msg.actionId = each; + QVERIFY(! interpreter.interpretMessage_HD(msg, list)); + } + + msg.actionId = Gui::GuiActionType::ID_RawData; + QVERIFY(!interpreter.interpretMessage_HD(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_treatmentRangesData_isType + * \details Tests MessageInterpreter treatmentRangesData method Message Type check + */ void tst_messaging::tst_MessageInterpreter_treatmentRangesData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.treatmentRangesData(msg, list)); + QVERIFY( ! iMsg.interpretMessage(msg, list)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_treatmentRangesData_payloadLen + * \details Tests MessageInterpreter treatmentRangesData method Message payload length check + */ void tst_messaging::tst_MessageInterpreter_treatmentRangesData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::TreatmentRanges; + msg.actionId = Gui::GuiActionType::ID_TreatmentRanges; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.treatmentRangesData(msg, list)); + QVERIFY( ! iMsg.interpretMessage(msg, list)); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_loadCellReadingsData_isType + * \details Tests MessageInterpreter treatmentRangesData method Message Type check + */ +void tst_messaging::tst_MessageInterpreter_loadCellReadingsData_isType() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_Unknown; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.interpretMessage(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_loadCellReadingsData_payloadLen + * \details Tests MessageInterpreter treatmentRangesData method Message payload length check + */ +void tst_messaging::tst_MessageInterpreter_loadCellReadingsData_payloadLen() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_DGLoadCellReadingsData; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.interpretMessage(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_temperatureSensorsData_isType + * \details Tests MessageInterpreter treatmentRangesData method Message Type check + */ +void tst_messaging::tst_MessageInterpreter_temperatureSensorsData_isType() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_Unknown; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.interpretMessage(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_temperatureSensorsData_payloadLen + * \details Tests MessageInterpreter temperatureSensorsData method Message payload length check + */ +void tst_messaging::tst_MessageInterpreter_temperatureSensorsData_payloadLen() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_DGTemperaturesData; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.interpretMessage(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_temperatureSensorsData_isType + * \details Tests MessageInterpreter canbusFaultCountData method Message Type check + */ +void tst_messaging::tst_MessageInterpreter_canbusFaultCountData_isType() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_Unknown; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.canbusFaultCountData(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_temperatureSensorsData_payloadLen + * \details Tests MessageInterpreter canbusFaultCountData method Message payload length check + */ +void tst_messaging::tst_MessageInterpreter_canbusFaultCountData_payloadLen() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_CANBusFaultCount; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.canbusFaultCountData(msg, list)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_interpretMessage_String + * \details Tests MessageInterpreter interpretMessage to handle String message type + * if data is empty (count==0) + */ void tst_messaging::tst_MessageInterpreter_interpretMessage_String() { Can::MessageInterpreter iMsg; QByteArray payload; - QVERIFY(iMsg.interpretMessage(Gui::GuiActionType::String, {}, payload)); + QVERIFY(iMsg.interpretMessage(Gui::GuiActionType::ID_RawData, {}, payload)); QVERIFY(payload.isEmpty()); } +void tst_messaging::tst_MessageInterpreter_interpretMessage_DG_Unhandled() +{ + Can::MessageInterpreter iMsg; + QByteArray payload; + Can::Message msg; + msg.actionId = static_cast(-1); + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.interpretMessage_DG(msg, list)); + QVERIFY(list.isEmpty()); +} + +void tst_messaging::tst_MessageInterpreter_notify_fromByteArray() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_PowerOff; + msg.data = {}; + QVariantList list; + QVERIFY( ! iMsg.notify(msg, list, Gui::GuiActionType::ID_PowerOff)); + QVERIFY(list.isEmpty()); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustBloodDialysateReq + * \details Tests MessageInterpreter interpretMessage to handle AdjustBloodDialysateReq message type + * if data is empty (count==0) + */ void tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustBloodDialysateReq() { Can::MessageInterpreter iMsg; QByteArray payload; - QVERIFY(iMsg.interpretMessage(Gui::GuiActionType::AdjustBloodDialysateReq, {}, payload)); + // if the payload is empty the len is not valid and should return false and empty payload + QVERIFY(! iMsg.interpretMessage(Gui::GuiActionType::ID_AdjustBloodDialysateReq, {}, payload)); QVERIFY(payload.isEmpty()); } +/*! + * \brief tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustDurationReq + * \details Tests MessageInterpreter interpretMessage to handle AdjustDurationReq message type + * if data is empty (count==0) + */ +void tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustDurationReq() +{ + Can::MessageInterpreter iMsg; + QByteArray payload; + // if the payload is empty the len is not valid and should return false and empty payload + QVERIFY( ! iMsg.interpretMessage(Gui::GuiActionType::ID_AdjustDurationReq, {}, payload)); + QVERIFY(payload.isEmpty()); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_interpretMessage_AlarmSilenceReq + * \details Tests MessageInterpreter interpretMessage to handle AlarmSilenceReq message type + * if data is empty (count==0) + */ +void tst_messaging::tst_MessageInterpreter_interpretMessage_AlarmSilenceReq() +{ + Can::MessageInterpreter iMsg; + QByteArray payload; + // if the payload is empty the len is not valid and should return false and empty payload + QVERIFY(! iMsg.interpretMessage(Gui::GuiActionType::ID_AlarmSilenceReq, {}, payload)); + QVERIFY(payload.isEmpty()); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustUltrafiltrationStateReq + * \details Tests MessageInterpreter interpretMessage to handle AdjustUltrafiltrationStateReq message type + * if data is empty (count==0) + */ +void tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustUltrafiltrationStateReq() +{ + Can::MessageInterpreter iMsg; + QByteArray payload; + // if the payload is empty the len is not valid and should return false and empty payload + QVERIFY(! iMsg.interpretMessage(Gui::GuiActionType::ID_AdjustUltrafiltrationStateReq, {}, payload)); + QVERIFY(payload.isEmpty()); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustUltrafiltrationEditReq + * \details Tests MessageInterpreter interpretMessage to handle AdjustUltrafiltrationEditReq message type + * if data is empty (count==0) + */ +void tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustUltrafiltrationEditReq() +{ + Can::MessageInterpreter iMsg; + QByteArray payload; + // if the payload is empty the len is not valid and should return false and empty payload + QVERIFY( ! iMsg.interpretMessage(Gui::GuiActionType::ID_AdjustUltrafiltrationEditReq, {}, payload)); + QVERIFY(payload.isEmpty()); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustUltrafiltrationConfirmReq + * \details Tests MessageInterpreter interpretMessage to handle AdjustUltrafiltrationConfirmReq message type + * if data is empty (count==0) + */ +void tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustUltrafiltrationConfirmReq() +{ + Can::MessageInterpreter iMsg; + QByteArray payload; + // if the payload is empty the len is not valid and should return false and empty payload + QVERIFY( ! iMsg.interpretMessage(Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmReq, {}, payload)); + QVERIFY(payload.isEmpty()); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustSalineReq + * \details Tests MessageInterpreter interpretMessage to handle ID_AdjustSalineReq message type + * if data is empty (count==0) + */ +void tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustSalineReq() +{ + Can::MessageInterpreter iMsg; + QByteArray payload; + // if the payload is empty the len is not valid and should return false and empty payload + QVERIFY( ! iMsg.interpretMessage(Gui::GuiActionType::ID_AdjustSalineReq, {}, payload)); + QVERIFY(payload.isEmpty()); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_interpretMessage_CANBusFaultCount + * \details Tests MessageInterpreter interpretMessage to handle ID_CANBusFaultCount message type + * if data is empty (count==0) + */ +void tst_messaging::tst_MessageInterpreter_interpretMessage_CANBusFaultCount() +{ + Can::MessageInterpreter iMsg; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_CANBusFaultCount; + msg.data = {}; + QVariantList data; + QVERIFY( ! iMsg.canbusFaultCountData(msg, data)); +} + +/*! + * \brief tst_messaging::tst_MessageInterpreter_createTreatmentResp + * Tests that an invalid response message is detected properly + */ +void tst_messaging::tst_MessageInterpreter_createTreatmentResp() +{ + Can::MessageInterpreter interpreter; + Can::Message msg; + msg.actionId = Gui::GuiActionType::ID_CreateTreatmentRsp; + msg.data = {}; + QVariantList data; + QVERIFY(! interpreter.createTreatmentRespData(msg, data)); + + msg.actionId = Gui::GuiActionType::ID_CreateTreatmentReq; + QVERIFY(! interpreter.createTreatmentRespData(msg, data)); + + QVariantList variantList = QVariantList() << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 + << 0 << 0 << 0; + QByteArray byteArray; + QVERIFY(interpreter.interpretMessage(msg.actionId, variantList, byteArray)); + + QVERIFY(!interpreter.interpretMessage(msg.actionId, QVariantList(), byteArray)); + +} + +/*! + * \brief tst_messaging::tst_MessageBuilder_addActionId + * \details Tests addActionId() method usage of MessageBuilder + */ void tst_messaging::tst_MessageBuilder_addActionId() { Can::MessageBuilder bMsg; QByteArray payload; - QVERIFY( ! bMsg.addActionId(payload, Gui::GuiActionType::Unknown)); + QVERIFY( ! bMsg.addActionId(payload, Gui::GuiActionType::ID_Unknown)); QVERIFY( payload.isEmpty()); } +/*! + * \brief tst_messaging::tst_MessageBuilder_addData_shorterLen + * \details Tests Data length of shorter than expected + * in addData() method of MessageBuilder + + */ void tst_messaging::tst_MessageBuilder_addData_shorterLen() { Can::MessageBuilder bMsg; QByteArray payload; - QVERIFY( ! bMsg.addData(payload, Gui::GuiActionType::PowerOff, {})); + QVERIFY( ! bMsg.addData(payload, Gui::GuiActionType::ID_PowerOff, {})); QVERIFY( payload.isEmpty()); } +/*! + * \brief tst_messaging::tst_MessageBuilder_addData_LongerThanMax + * \details Tests Data length of longer than maximum accepted + * in addData() method of MessageBuilder + */ void tst_messaging::tst_MessageBuilder_addData_LongerThanMax() { Can::MessageBuilder bMsg; @@ -353,10 +873,14 @@ for (int i = 0; i<= Can::eLenMaxData + 1; i++ ) { data += i; } - QVERIFY(bMsg.addData(payload, Gui::GuiActionType::String, data)); + QVERIFY(bMsg.addData(payload, Gui::GuiActionType::ID_RawData, data)); QVERIFY( ! payload.isEmpty()); } +/*! + * \brief tst_messaging::tst_MessageBuilder_checkCRC + * \details Tests checkCRC() method usage of MessageBuilder + */ void tst_messaging::tst_MessageBuilder_checkCRC() { Can::MessageBuilder bMsg; @@ -365,31 +889,47 @@ QVERIFY( ! bMsg.checkCRC(data, vExpected, vActual)); } +/*! + * \brief tst_messaging::tst_MessageBuilder_getHeader + * \details Tests getHeader() method usage of MessageBuilder + */ void tst_messaging::tst_MessageBuilder_getHeader() { Can::MessageBuilder bMsg; QByteArray payload; QVERIFY(bMsg.getHeader(payload).isEmpty()); } +/*! + * \brief tst_messaging::tst_MessageBuilder_buildFrames_addActionId + * \details Tests addActionId() method usage of MessageBuilder in buildFrames method + */ void tst_messaging::tst_MessageBuilder_buildFrames_addActionId() { Can::MessageBuilder bMsg; QByteArray data; Can::FrameList framelist; Can::Sequence seq = 1; - QVERIFY( ! bMsg.buildFrames(Gui::GuiActionType::Unknown, data, framelist, seq)); + QVERIFY( ! bMsg.buildFrames(Gui::GuiActionType::ID_Unknown, data, framelist, seq)); } +/*! + * \brief tst_messaging::tst_MessageBuilder_buildFrames_addData + * \details Tests addData() method usage of MessageBuilder in buildFrames method + */ void tst_messaging::tst_MessageBuilder_buildFrames_addData() { Can::MessageBuilder bMsg; QByteArray data; Can::FrameList framelist; Can::Sequence seq = 1; - QVERIFY( ! bMsg.buildFrames(Gui::GuiActionType::PowerOff, data, framelist, seq)); + QVERIFY( ! bMsg.buildFrames(Gui::GuiActionType::ID_PowerOff, data, framelist, seq)); } +/*! + * \brief tst_messaging::tst_MessageBuilder_buildFrames_eLenCanFrame + * \details Tests canFrameLength check in buildFrames method of MessageBuilder + */ void tst_messaging::tst_MessageBuilder_buildFrames_eLenCanFrame() { Can::MessageBuilder bMsg; @@ -406,14 +946,29 @@ Can::FrameList framelist; Can::Sequence seq = 1; - QVERIFY( bMsg.buildFrames(Gui::GuiActionType::String, data, framelist, seq)); + QVERIFY( bMsg.buildFrames(Gui::GuiActionType::ID_RawData, data, framelist, seq)); } -void tst_messaging::tst_MessageBuilder_actionTransmit() +/*! + * \brief tst_messaging::tst_MessageDispatcher_actionTransmit + * \details Tests MessageDispatcher actionTransmit() + */ +void tst_messaging::tst_MessageDispatcher_actionTransmit() { Can::MessageDispatcher dMsg; QVariantList data; Can::Sequence seq = 1; - dMsg.actionTransmit(Gui::GuiActionType::AdjustBloodDialysateReq, data, seq); + dMsg.actionTransmit(Gui::GuiActionType::ID_AdjustBloodDialysateReq, data, seq); } +/*! + * \brief tst_messaging::tst_MessageDispatcher_actionTransmit + * \details Tests MessageDispatcher actionTransmit() + */ +void tst_messaging::tst_MessageDispatcher_actionTransmit_Unknown() +{ + Can::MessageDispatcher dMsg; + QVariantList data; + Can::Sequence seq = 1; + dMsg.actionTransmit(Gui::GuiActionType::ID_KeepAlive, data, seq); +}