Index: unittests/tst_messaging.cpp =================================================================== diff -u -rb798668f16ad0967ab97e96f5f9a2cdd821e899f -r846a9ebc350e33be4affab3cc4c136248900015d --- unittests/tst_messaging.cpp (.../tst_messaging.cpp) (revision b798668f16ad0967ab97e96f5f9a2cdd821e899f) +++ unittests/tst_messaging.cpp (.../tst_messaging.cpp) (revision 846a9ebc350e33be4affab3cc4c136248900015d) @@ -2,13 +2,14 @@ * * 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. + * 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,7 +20,7 @@ #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) { } @@ -32,10 +33,10 @@ { 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)); } /*! @@ -46,24 +47,37 @@ { 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)); } /*! @@ -74,11 +88,11 @@ { 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)); } /*! @@ -89,10 +103,10 @@ { 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)); } /*! @@ -103,11 +117,11 @@ { 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)); } /*! @@ -118,11 +132,11 @@ { 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)); } /*! @@ -133,10 +147,10 @@ { 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()); } @@ -148,11 +162,11 @@ { 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)); } /*! @@ -163,11 +177,11 @@ { 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)); } /*! @@ -178,10 +192,10 @@ { 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()); } @@ -193,11 +207,11 @@ { 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)); } /*! @@ -208,11 +222,11 @@ { 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)); } /*! @@ -223,10 +237,10 @@ { 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()); } @@ -238,11 +252,11 @@ { 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)); } /*! @@ -253,11 +267,11 @@ { 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)); } /*! @@ -268,10 +282,10 @@ { 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()); } @@ -283,11 +297,11 @@ { 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)); } /*! @@ -298,11 +312,11 @@ { 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)); } /*! @@ -313,7 +327,7 @@ { 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)); @@ -328,11 +342,11 @@ { 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)); } /*! @@ -343,11 +357,11 @@ { 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)); } /*! @@ -358,10 +372,10 @@ { 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()); } @@ -373,10 +387,10 @@ { 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)); } /*! @@ -387,10 +401,10 @@ { 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)); } /*! @@ -401,10 +415,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.adjustDurationData(msg, list)); + QVERIFY( ! iMsg.interpretMessage(msg, list)); } /*! @@ -415,24 +429,137 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustDurationRsp; + msg.actionId = Gui::GuiActionType::ID_AdjustDurationRsp; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.adjustDurationData(msg, 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)); } /*! @@ -443,13 +570,97 @@ { 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) @@ -458,10 +669,33 @@ { 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 @@ -471,7 +705,8 @@ { 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()); } @@ -484,19 +719,130 @@ { Can::MessageInterpreter iMsg; QByteArray payload; - QVERIFY(iMsg.interpretMessage(Gui::GuiActionType::AdjustDurationReq, {}, 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()); } @@ -510,7 +856,7 @@ { Can::MessageBuilder bMsg; QByteArray payload; - QVERIFY( ! bMsg.addData(payload, Gui::GuiActionType::PowerOff, {})); + QVERIFY( ! bMsg.addData(payload, Gui::GuiActionType::ID_PowerOff, {})); QVERIFY( payload.isEmpty()); } @@ -527,7 +873,7 @@ 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()); } @@ -564,7 +910,7 @@ 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)); } /*! @@ -577,7 +923,7 @@ 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)); } /*! @@ -600,7 +946,7 @@ 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)); } /*! @@ -612,6 +958,17 @@ 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); +}