/*! * * 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. * * file tst_messaging.cpp * date 4/20/2020 * author Behrouz NematiPour * */ #include "tst_messaging.h" // Qt // Project #include "main.h" #include "messageinterpreter.h" #include "messagebuilder.h" #include "mpoweroff.h" #include "messagedispatcher.h" tst_messaging::tst_messaging(QObject *parent) : QObject(parent) { } void tst_messaging::tst_MessageInterpreter_isType() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::AdjustBloodDialysateReq; msg.data = {}; QVERIFY( iMsg.isType(msg, Gui::GuiActionType::AdjustBloodDialysateReq)); QVERIFY(! iMsg.isType(msg, Gui::GuiActionType::BloodFlow)); } void tst_messaging::tst_MessageInterpreter_isPayloadLenValid() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::AdjustBloodDialysateReq; msg.data = {}; QVERIFY( ! iMsg.isPayloadLenValid(msg, Gui::GuiActionType::AdjustBloodDialysateReq)); } void tst_messaging::tst_MessageInterpreter_getPowerOffData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::Unknown; msg.data = {}; Model::MPowerOff data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getPowerOffData(msg, data)); } void tst_messaging::tst_MessageInterpreter_getPowerOffData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::PowerOff; msg.data = {}; Model::MPowerOff data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getPowerOffData(msg, data)); } void tst_messaging::tst_MessageInterpreter_powerOffData() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::PowerOff; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.powerOffData(msg, data)); } void tst_messaging::tst_MessageInterpreter_getBloodFlowData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::Unknown; msg.data = {}; Model::MBloodFlow data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getBloodFlowData(msg, data)); } void tst_messaging::tst_MessageInterpreter_getBloodFlowData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::BloodFlow; msg.data = {}; Model::MBloodFlow data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getBloodFlowData(msg, data)); } void tst_messaging::tst_MessageInterpreter_bloodFlowData() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::BloodFlow; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.bloodFlowData(msg, data)); QVERIFY( data.isEmpty()); } void tst_messaging::tst_MessageInterpreter_getDialysateInletFlowData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::Unknown; msg.data = {}; Model::MDialysateFlow data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getDialysateInletFlowData(msg, data)); } void tst_messaging::tst_MessageInterpreter_getDialysateInletFlowData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::DialysateInletFlow; msg.data = {}; Model::MDialysateFlow data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getDialysateInletFlowData(msg, data)); } void tst_messaging::tst_MessageInterpreter_dialysateInletFlowData() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::DialysateInletFlow; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.dialysateInletFlowData(msg, data)); QVERIFY( data.isEmpty()); } void tst_messaging::tst_MessageInterpreter_getDialysateOutletFlowData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::Unknown; msg.data = {}; Model::MOutletFlow data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getDialysateOutletFlowData(msg, data)); } void tst_messaging::tst_MessageInterpreter_getDialysateOutletFlowData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::DialysateOutletFlow; msg.data = {}; Model::MOutletFlow data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getDialysateOutletFlowData(msg, data)); } void tst_messaging::tst_MessageInterpreter_dialysateOutletFlowData() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::DialysateOutletFlow; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.dialysateOutletFlowData(msg, data)); QVERIFY( data.isEmpty()); } void tst_messaging::tst_MessageInterpreter_getTreatmentTime_isType() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::Unknown; msg.data = {}; Model::MTreatmentTime data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getTreatmentTime(msg, data)); } void tst_messaging::tst_MessageInterpreter_getTreatmentTime_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::TreatmentTime; msg.data = {}; Model::MTreatmentTime data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getTreatmentTime(msg, data)); } void tst_messaging::tst_MessageInterpreter_treatmentTime() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::TreatmentTime; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.treatmentTime(msg, data)); QVERIFY( data.isEmpty()); } void tst_messaging::tst_MessageInterpreter_getAlarmStatus_isType() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::Unknown; msg.data = {}; Model::MAlarmStatus data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getAlarmStatus(msg, data)); } void tst_messaging::tst_MessageInterpreter_getAlarmStatus_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::AlarmStatus; msg.data = {}; Model::MAlarmStatus data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getAlarmStatus(msg, data)); } void tst_messaging::tst_MessageInterpreter_alarmStatus() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::AlarmStatus; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.alarmStatus(msg, data)); QVERIFY( data.isEmpty()); } void tst_messaging::tst_MessageInterpreter_getPressureOcclusionData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::Unknown; msg.data = {}; Model::MPressureOcclusion data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getPressureOcclusionData(msg, data)); } void tst_messaging::tst_MessageInterpreter_getPressureOcclusionData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::PressureOcclusion; msg.data = {}; Model::MPressureOcclusion data; data.fromByteArray(msg.data); QVERIFY( ! iMsg.getPressureOcclusionData(msg, data)); } void tst_messaging::tst_MessageInterpreter_pressureOcclusionData() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::PressureOcclusion; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.pressureOcclusionData(msg, data)); QVERIFY( data.isEmpty()); } void tst_messaging::tst_MessageInterpreter_adjustBloodDialysateData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::Unknown; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.adjustBloodDialysateData(msg, list)); } void tst_messaging::tst_MessageInterpreter_adjustBloodDialysateData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::AdjustBloodDialysateRsp; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.adjustBloodDialysateData(msg, list)); } void tst_messaging::tst_MessageInterpreter_treatmentRangesData_isType() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::Unknown; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.treatmentRangesData(msg, list)); } void tst_messaging::tst_MessageInterpreter_treatmentRangesData_payloadLen() { Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::TreatmentRanges; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.treatmentRangesData(msg, list)); } void tst_messaging::tst_MessageInterpreter_interpretMessage_String() { Can::MessageInterpreter iMsg; QByteArray payload; QVERIFY(iMsg.interpretMessage(Gui::GuiActionType::String, {}, payload)); QVERIFY(payload.isEmpty()); } void tst_messaging::tst_MessageInterpreter_interpretMessage_AdjustBloodDialysateReq() { Can::MessageInterpreter iMsg; QByteArray payload; QVERIFY(iMsg.interpretMessage(Gui::GuiActionType::AdjustBloodDialysateReq, {}, payload)); QVERIFY(payload.isEmpty()); } void tst_messaging::tst_MessageBuilder_addActionId() { Can::MessageBuilder bMsg; QByteArray payload; QVERIFY( ! bMsg.addActionId(payload, Gui::GuiActionType::Unknown)); QVERIFY( payload.isEmpty()); } void tst_messaging::tst_MessageBuilder_addData_shorterLen() { Can::MessageBuilder bMsg; QByteArray payload; QVERIFY( ! bMsg.addData(payload, Gui::GuiActionType::PowerOff, {})); QVERIFY( payload.isEmpty()); } void tst_messaging::tst_MessageBuilder_addData_LongerThanMax() { Can::MessageBuilder bMsg; QByteArray payload; QByteArray data; for (int i = 0; i<= Can::eLenMaxData + 1; i++ ) { data += i; } QVERIFY(bMsg.addData(payload, Gui::GuiActionType::String, data)); QVERIFY( ! payload.isEmpty()); } void tst_messaging::tst_MessageBuilder_checkCRC() { Can::MessageBuilder bMsg; QByteArray data; quint8 vExpected, vActual; QVERIFY( ! bMsg.checkCRC(data, vExpected, vActual)); } void tst_messaging::tst_MessageBuilder_getHeader() { Can::MessageBuilder bMsg; QByteArray payload; QVERIFY(bMsg.getHeader(payload).isEmpty()); } 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)); } 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)); } void tst_messaging::tst_MessageBuilder_buildFrames_eLenCanFrame() { Can::MessageBuilder bMsg; QByteArray data; data += 0x01; data += 0x02; data += 0x03; data += 0x04; data += 0x05; data += 0x06; data += 0x07; data += 0x08; data += 0x09; qDebug() << data.length(); Can::FrameList framelist; Can::Sequence seq = 1; QVERIFY( bMsg.buildFrames(Gui::GuiActionType::String, data, framelist, seq)); } void tst_messaging::tst_MessageBuilder_actionTransmit() { Can::MessageDispatcher dMsg; QVariantList data; Can::Sequence seq = 1; dMsg.actionTransmit(Gui::GuiActionType::AdjustBloodDialysateReq, data, seq); }