Index: unittests/tst_messaging.cpp =================================================================== diff -u -r7d3062c841b788ced31d939dec990afe0de1442d -r846a9ebc350e33be4affab3cc4c136248900015d --- unittests/tst_messaging.cpp (.../tst_messaging.cpp) (revision 7d3062c841b788ced31d939dec990afe0de1442d) +++ 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,9 +47,9 @@ { 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)); } /*! @@ -72,11 +73,11 @@ { 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)); } /*! @@ -87,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)); } /*! @@ -102,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)); } /*! @@ -116,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)); } /*! @@ -131,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)); } /*! @@ -146,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()); } @@ -161,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)); } /*! @@ -176,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)); } /*! @@ -191,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()); } @@ -206,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)); } /*! @@ -221,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)); } /*! @@ -236,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()); } @@ -251,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)); } /*! @@ -266,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)); } /*! @@ -281,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()); } @@ -296,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)); } /*! @@ -311,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)); } /*! @@ -326,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)); @@ -341,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)); } /*! @@ -356,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)); } /*! @@ -371,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()); } @@ -386,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)); } /*! @@ -400,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)); } /*! @@ -414,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)); } /*! @@ -428,10 +429,10 @@ { 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)); } /*! @@ -442,10 +443,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.adjustUltrafiltrationStateData(msg, list)); + QVERIFY( ! iMsg.adjustUltrafiltrationState(msg, list)); } /*! @@ -456,10 +457,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustUltrafiltrationStateReq; + msg.actionId = Gui::GuiActionType::ID_AdjustUltrafiltrationStateReq; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.adjustUltrafiltrationStateData(msg, list)); + QVERIFY( ! iMsg.adjustUltrafiltrationState(msg, list)); } /*! @@ -470,10 +471,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.adjustUltrafiltrationEditData(msg, list)); + QVERIFY( ! iMsg.adjustUltrafiltrationEdit(msg, list)); } /*! @@ -484,10 +485,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustUltrafiltrationEditRsp; + msg.actionId = Gui::GuiActionType::ID_AdjustUltrafiltrationEditRsp; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.adjustUltrafiltrationEditData(msg, list)); + QVERIFY( ! iMsg.adjustUltrafiltrationEdit(msg, list)); } /*! @@ -498,10 +499,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.adjustUltrafiltrationConfirmData(msg, list)); + QVERIFY( ! iMsg.adjustUltrafiltrationConfirm(msg, list)); } /*! @@ -512,24 +513,53 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustUltrafiltrationConfirmRsp; + msg.actionId = Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmRsp; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.adjustUltrafiltrationConfirmData(msg, 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)); } /*! @@ -540,10 +570,10 @@ { 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)); } /*! @@ -554,10 +584,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.loadCellReadingsData(msg, list)); + QVERIFY( ! iMsg.interpretMessage(msg, list)); } /*! @@ -568,10 +598,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::LoadCellReadings; + msg.actionId = Gui::GuiActionType::ID_DGLoadCellReadingsData; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.loadCellReadingsData(msg, list)); + QVERIFY( ! iMsg.interpretMessage(msg, list)); } /*! @@ -582,10 +612,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.temperatureSensorsData(msg, list)); + QVERIFY( ! iMsg.interpretMessage(msg, list)); } /*! @@ -596,10 +626,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::TemperatureSensors; + msg.actionId = Gui::GuiActionType::ID_DGTemperaturesData; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.temperatureSensorsData(msg, list)); + QVERIFY( ! iMsg.interpretMessage(msg, list)); } /*! @@ -610,7 +640,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::ID_Unknown; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.canbusFaultCountData(msg, list)); @@ -624,7 +654,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::CanBUSFaultCount; + msg.actionId = Gui::GuiActionType::ID_CANBusFaultCount; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.canbusFaultCountData(msg, list)); @@ -639,7 +669,7 @@ { Can::MessageInterpreter iMsg; QByteArray payload; - QVERIFY(iMsg.interpretMessage(Gui::GuiActionType::String, {}, payload)); + QVERIFY(iMsg.interpretMessage(Gui::GuiActionType::ID_RawData, {}, payload)); QVERIFY(payload.isEmpty()); } @@ -655,6 +685,17 @@ 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 @@ -664,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()); } @@ -677,11 +719,26 @@ { 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) @@ -690,7 +747,8 @@ { Can::MessageInterpreter iMsg; QByteArray payload; - QVERIFY(iMsg.interpretMessage(Gui::GuiActionType::AdjustUltrafiltrationStateReq, {}, 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()); } @@ -703,7 +761,8 @@ { Can::MessageInterpreter iMsg; QByteArray payload; - QVERIFY(iMsg.interpretMessage(Gui::GuiActionType::AdjustUltrafiltrationEditReq, {}, 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()); } @@ -716,34 +775,74 @@ { Can::MessageInterpreter iMsg; QByteArray payload; - QVERIFY(iMsg.interpretMessage(Gui::GuiActionType::AdjustUltrafiltrationConfirmReq, {}, 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_AdjustUltrafiltrationConfirmReq - * \details Tests MessageInterpreter interpretMessage to handle AdjustUltrafiltrationConfirmReq message type + * \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_canbusFaultCountData() +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::CanBUSFaultCount; + 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()); } @@ -757,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()); } @@ -774,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()); } @@ -811,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)); } /*! @@ -824,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)); } /*! @@ -847,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)); } /*! @@ -859,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); +}