Index: firmware/.cproject =================================================================== diff -u -r7478d513d7493d08484a880f5cd6c296c9616e70 -rd3e3e25740d545eb958a595e87fa3034633e7392 --- firmware/.cproject (.../.cproject) (revision 7478d513d7493d08484a880f5cd6c296c9616e70) +++ firmware/.cproject (.../.cproject) (revision d3e3e25740d545eb958a595e87fa3034633e7392) @@ -15,7 +15,7 @@ - + Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -r7138d8ca7496d3ee0f788ea1d9a34bb47e45da6e -rd3e3e25740d545eb958a595e87fa3034633e7392 --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 7138d8ca7496d3ee0f788ea1d9a34bb47e45da6e) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision d3e3e25740d545eb958a595e87fa3034633e7392) @@ -1188,11 +1188,11 @@ /*********************************************************************//** * @brief * The testSetMeasuredDialOutPumpMCCurrentOverride function overrides the measured \n - * dialIn pump motor current. + * dialOut pump motor current. * @details * Inputs : dialOutPumpMCCurrentmA * Outputs : dialOutPumpMCCurrentmA - * @param value : override measured dialIn pump current (in mA) + * @param value : override measured dialOut pump current (in mA) * @return TRUE if override successful, FALSE if not *************************************************************************/ BOOL testSetMeasuredDialOutPumpMCCurrentOverride( F32 value ) @@ -1212,7 +1212,7 @@ /*********************************************************************//** * @brief * The testResetMeasuredDialOutPumpMCCurrentOverride function resets the override of the \n - * measured dialIn pump motor current. + * measured dialOut pump motor current. * @details * Inputs : dialOutPumpMCCurrentmA * Outputs : dialOutPumpMCCurrentmA Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r7478d513d7493d08484a880f5cd6c296c9616e70 -rd3e3e25740d545eb958a595e87fa3034633e7392 --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 7478d513d7493d08484a880f5cd6c296c9616e70) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision d3e3e25740d545eb958a595e87fa3034633e7392) @@ -47,7 +47,8 @@ #define USER_CONFIRM_CHANGE_TIMEOUT_MS ( 60 * MS_PER_SECOND ) ///< Require user to confirm UF volume change within this time. #define PREVENT_UF_VOL_CHANGE_IF_NEARLY_DONE_SEC ( 10 * SEC_PER_MIN ) ///< Prevent UF volume change if treatment within this much time from end of treatment (in seconds). -#define TREATMENT_TIME_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the treatment time & state data is published on the CAN bus +#define TREATMENT_TIME_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the treatment time & state data is published on the CAN bus. +#define TREATMENT_SETTINGS_RANGES_PUB_INTERVAL ( ( 60 * MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which updated, valid treatment setting ranges are published on the CAN bus. #define CALC_ELAPSED_TREAT_TIME_IN_SECS() ( treatmentTimeMS / MS_PER_SECOND ) ///< Macro to calculate the elapsed treatment time in seconds. #define CALC_ELAPSED_TREAT_TIME_IN_MIN() ( ( treatmentTimeMS / MS_PER_SECOND ) / SEC_PER_MIN ) ///< Macro to calculate the elapsed treatment time in minutes. @@ -66,6 +67,7 @@ static U32 treatmentTimeMS; ///< Elapsed treatment time (in ms). static U32 lastTreatmentTimeStamp; ///< Last time elapsed treatment time was recorded (a timestamp in ms). static U32 treatmentTimeBroadcastTimerCtr; ///< Treatment data broadcast timer counter used to schedule when to transmit data. +static U32 treatmentParamsRangesBroadcastTimerCtr; ///< Treatment parameter ranges broadcast timer counter used to schedule when to transmit updated ranges. static BUTTON_STATE_T lastOffButtonState = BUTTON_STATE_RELEASED; // TODO - test code - remove later @@ -76,6 +78,8 @@ // ********** private function prototypes ********** +static void broadcastTreatmentTimeAndState( void ); +static void broadcastTreatmentSettingsRanges( void ); static TREATMENT_STATE_T handleTreatmentStartState( void ); static TREATMENT_STATE_T handleTreatmentDialysisState( void ); static TREATMENT_STATE_T handleTreatmentStopState( void ); @@ -96,6 +100,7 @@ treatmentTimeMS = 0; lastTreatmentTimeStamp = 0; treatmentTimeBroadcastTimerCtr = 0; + treatmentParamsRangesBroadcastTimerCtr = 0; presTreatmentTimeSecs = 0; presBloodFlowRate = 0; @@ -161,8 +166,6 @@ *************************************************************************/ void execTreatmentMode( void ) { - U32 elapsedTreatmentTimeInSecs; - #ifndef UF_TEST_ENABLED BOOL stop = isStopButtonPressed(); @@ -225,26 +228,8 @@ break; } - // update treatment time stats and broadcast - end treatment if time - elapsedTreatmentTimeInSecs = treatmentTimeMS / MS_PER_SECOND; - if ( elapsedTreatmentTimeInSecs >= presTreatmentTimeSecs ) - { - stopDialysis(); - elapsedTreatmentTimeInSecs = presTreatmentTimeSecs; - currentTreatmentState = TREATMENT_DIALYSIS_END_STATE; - } - // broadcast treatment time and state data at interval - if ( ++treatmentTimeBroadcastTimerCtr >= TREATMENT_TIME_DATA_PUB_INTERVAL ) - { - U32 timeRemaining = presTreatmentTimeSecs - elapsedTreatmentTimeInSecs; - DIALYSIS_STATE_T dialysisState = getDialysisState(); - UF_STATE_T uFState = getUltrafiltrationState(); - BOOL salineBolusInProgress = ( dialysisState == DIALYSIS_SOLUTION_INFUSION_STATE ? TRUE : FALSE ); - - broadcastTreatmentTime( presTreatmentTimeSecs, elapsedTreatmentTimeInSecs, timeRemaining ); - broadcastTreatmentState( currentTreatmentState, uFState, salineBolusInProgress ); - treatmentTimeBroadcastTimerCtr = 0; - } + broadcastTreatmentTimeAndState(); + broadcastTreatmentSettingsRanges(); #endif #ifdef RM46_EVAL_BOARD_TARGET // TODO - temporary test code for eval board - move to next mode after 10 sec @@ -468,9 +453,9 @@ { DIALYSIS_STATE_T currDialysisState = getDialysisState(); UF_STATE_T currUFState = getUltrafiltrationState(); - F32 uFRate = uFVolume / ((F32)presTreatmentTimeSecs / (F32)SEC_PER_MIN); // what would UF rate be if user selected to adjust it? - U32 trtTime = (S32)( uFVolume / presUFRate ) + 1; // what would the treatment duration be if user selected to adjust it? - U32 dialVolume = presDialysateFlowRate * trtTime; // what would dialysate volume be if user selected to adjust time? + F32 uFRate = uFVolume / ((F32)presTreatmentTimeSecs / (F32)SEC_PER_MIN); // what UF rate would be if user selected to adjust it + U32 trtTime = (S32)( uFVolume / presUFRate ) + 1; // what the treatment duration would be if user selected to adjust it + U32 dialVolume = presDialysateFlowRate * trtTime; // what dialysate volume would be if user selected to adjust time // UF should already be paused but let's make sure. if ( ( TREATMENT_DIALYSIS_STATE == currentTreatmentState ) && @@ -648,3 +633,70 @@ return result; } + +/*********************************************************************//** + * @brief + * The broadcastTreatmentTimeAndState function broadcasts treatment time and \n + * state data during treatment. + * @details + * Inputs : treatment time and state data + * Outputs : treatment time and state messages sent on interval + * @return none + *************************************************************************/ +static void broadcastTreatmentTimeAndState( void ) +{ + U32 elapsedTreatmentTimeInSecs; + + // update treatment time stats and broadcast - end treatment if time + elapsedTreatmentTimeInSecs = treatmentTimeMS / MS_PER_SECOND; + if ( elapsedTreatmentTimeInSecs >= presTreatmentTimeSecs ) + { + stopDialysis(); + elapsedTreatmentTimeInSecs = presTreatmentTimeSecs; + currentTreatmentState = TREATMENT_DIALYSIS_END_STATE; + } + // broadcast treatment time and state data at interval + if ( ++treatmentTimeBroadcastTimerCtr >= TREATMENT_TIME_DATA_PUB_INTERVAL ) + { + U32 timeRemaining = presTreatmentTimeSecs - elapsedTreatmentTimeInSecs; + DIALYSIS_STATE_T dialysisState = getDialysisState(); + UF_STATE_T uFState = getUltrafiltrationState(); + BOOL salineBolusInProgress = ( dialysisState == DIALYSIS_SOLUTION_INFUSION_STATE ? TRUE : FALSE ); + + broadcastTreatmentTime( presTreatmentTimeSecs, elapsedTreatmentTimeInSecs, timeRemaining ); + broadcastTreatmentState( currentTreatmentState, uFState, salineBolusInProgress ); + treatmentTimeBroadcastTimerCtr = 0; + } +} + +/*********************************************************************//** + * @brief + * The broadcastTreatmentSettingsRanges function computes and broadcasts \n + * updated treatment parameter ranges that the user may change during treatment. + * @details + * Inputs : current operating mode, treatment states and parameters + * Outputs : valid ranges message sent on interval + * @return none + *************************************************************************/ +static void broadcastTreatmentSettingsRanges( void ) +{ + if ( ++treatmentParamsRangesBroadcastTimerCtr >= TREATMENT_SETTINGS_RANGES_PUB_INTERVAL ) + { + U32 minTime = CALC_ELAPSED_TREAT_TIME_IN_MIN() + 2; // add two minutes to cover rounding and ensure it's valid for next minute + U32 maxTimeRem = ( MAX_UF_VOLUME_ML - (U32)getUltrafiltrationVolumeCollected() ) / MAX_UF_RATE_ML_MIN; + U32 maxTime1 = minTime + maxTimeRem; + U32 maxTime2 = MAX_DIALYSATE_VOLUME_ML / presDialysateFlowRate; + U32 maxTime = MIN( maxTime1, maxTime2 ); + U32 minUFVol = (U32)(getUltrafiltrationVolumeCollected() + 1); + U32 maxUFVol = presUFRate * ( presTreatmentTimeSecs / SEC_PER_MIN ); + U32 minDialRate = MIN_DIAL_IN_FLOW_RATE; + U32 maxDialRate = MAX_DIALYSATE_VOLUME_ML / ( presTreatmentTimeSecs / SEC_PER_MIN ); + + maxTime = MIN( maxTime, MAX_TREATMENT_TIME_MINUTES ); + maxUFVol = MIN( maxUFVol, MAX_UF_VOLUME_ML ); + maxDialRate = MIN( maxDialRate, MAX_DIAL_IN_FLOW_RATE ); + // send ranges to UI + sendTreatmentParamsRangesToUI( minTime, maxTime, minUFVol, maxUFVol, minDialRate, maxDialRate ); + treatmentParamsRangesBroadcastTimerCtr = 0; + } +} Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r8ecacdf946ecec11c2f65000876d767279cdd33a -rd3e3e25740d545eb958a595e87fa3034633e7392 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 8ecacdf946ecec11c2f65000876d767279cdd33a) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision d3e3e25740d545eb958a595e87fa3034633e7392) @@ -1117,6 +1117,10 @@ handleChangeBloodDialysateRateChangeRequest( message ); break; + case MSG_ID_REQUEST_FW_VERSIONS: + handleFWVersionRequest( message ); + break; + case MSG_ID_TESTER_LOGIN_REQUEST: handleTesterLogInRequest( message ); break; Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r744b177ec4114c62303e976aed1677b820f7a281 -rd3e3e25740d545eb958a595e87fa3034633e7392 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 744b177ec4114c62303e976aed1677b820f7a281) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision d3e3e25740d545eb958a595e87fa3034633e7392) @@ -405,17 +405,18 @@ *************************************************************************/ void handleChangeUFSettingsRequest( MESSAGE_T *message ) { - BOOL result = FALSE; - if ( message->hdr.payloadLen == sizeof(U32) ) { U32 uFVolume; memcpy( &uFVolume, message->payload, sizeof(U32) ); - result = verifyUFSettingsChange( uFVolume ); + verifyUFSettingsChange( uFVolume ); } - sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, result ); + else + { + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, FALSE ); + } } /************************************************************************* @@ -479,17 +480,18 @@ *************************************************************************/ void handleChangeUFSettingsConfirmation( MESSAGE_T *message ) { - BOOL result = FALSE; - if ( message->hdr.payloadLen == sizeof(UF_SETTINGS_CHANGE_CONFIRMATION_PAYLOAD_T) ) { UF_SETTINGS_CHANGE_CONFIRMATION_PAYLOAD_T payload; memcpy( &payload, message->payload, sizeof(UF_SETTINGS_CHANGE_CONFIRMATION_PAYLOAD_T) ); - result = verifyUFSettingsConfirmation( payload.volume_mL, payload.adjustType ); + verifyUFSettingsConfirmation( payload.volume_mL, payload.adjustType ); } - sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, result ); + else + { + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, FALSE ); + } } /************************************************************************* @@ -504,17 +506,18 @@ *************************************************************************/ void handleChangeTreatmentDurationRequest( MESSAGE_T *message ) { - BOOL result = FALSE; - if ( message->hdr.payloadLen == sizeof(U32) ) { U32 timeInMin; memcpy( &timeInMin, message->payload, sizeof(U32) ); - result = verifyTreatmentDurationSettingChange( timeInMin ); + verifyTreatmentDurationSettingChange( timeInMin ); } - sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, result ); + else + { + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, FALSE ); + } } /************************************************************************* @@ -569,7 +572,6 @@ *************************************************************************/ void handleChangeBloodDialysateRateChangeRequest( MESSAGE_T *message ) { - BOOL result = FALSE; U32 expPayloadSize = sizeof(U32) + sizeof(U32); if ( expPayloadSize == message->hdr.payloadLen ) @@ -580,9 +582,12 @@ memcpy( &bloodRate, &message->payload[0], sizeof(U32) ); memcpy( &dialRate, &message->payload[sizeof(U32)], sizeof(U32) ); - result = verifyBloodAndDialysateRateSettingsChange( bloodRate, dialRate ); + verifyBloodAndDialysateRateSettingsChange( bloodRate, dialRate ); } - sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, result ); + else + { + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, FALSE ); + } } /************************************************************************* @@ -670,6 +675,38 @@ /************************************************************************* * @brief + * The handleFWVersionRequest function handles a request for HD f/w version. + * @details + * Inputs : none + * Outputs : message handled, response constructed and queued for transmit. + * @param message : a pointer to the message to handle. + * @return none + *************************************************************************/ +void handleFWVersionRequest( message ) +{ + MESSAGE_T msg; + U08 major = (U08)HD_VERSION_MAJOR; + U08 minor = (U08)HD_VERSION_MINOR; + U16 build = (U16)HD_VERSION_BUILD; + U08 *payloadPtr = msg.payload; + + // create a message record + blankMessage( &msg ); + msg.hdr.msgID = MSG_ID_HD_VERSION; + msg.hdr.payloadLen = sizeof( U08 ) + sizeof( U08 ) + sizeof( U16 ); + + memcpy( payloadPtr, &major, sizeof( U08 ) ); + payloadPtr += sizeof( U08 ); + memcpy( payloadPtr, &minor, sizeof( U08 ) ); + payloadPtr += sizeof( U08 ); + memcpy( payloadPtr, &build, sizeof( U16 ) ); + + // serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer + serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_2_UI, ACK_REQUIRED ); +} + +/************************************************************************* + * @brief * The sendDialysateTempTargetsToDG function constructs a dialysate temperature \n * set points message for DG and queues the msg for transmit on the appropriate CAN channel. * @details Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r744b177ec4114c62303e976aed1677b820f7a281 -rd3e3e25740d545eb958a595e87fa3034633e7392 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 744b177ec4114c62303e976aed1677b820f7a281) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision d3e3e25740d545eb958a595e87fa3034633e7392) @@ -66,6 +66,9 @@ // MSG_ID_SET_DG_DIALYSATE_TEMP_TARGETS BOOL sendDialysateTempTargetsToDG( F32 primary, F32 trimmer ); +// MSG_ID_REQUEST_FW_VERSIONS +void handleFWVersionRequest( message ); + // MSG_ID_ALARM_STATUS BOOL broadcastAlarmStatus( COMP_ALARM_STATUS_T almStatus ); // MSG_ID_ALARM_TRIGGERED Index: vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT.cfg =================================================================== diff -u --- vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT.cfg (revision 0) +++ vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT.cfg (revision d3e3e25740d545eb958a595e87fa3034633e7392) @@ -0,0 +1 @@ \ No newline at end of file Index: vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT.env =================================================================== diff -u --- vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT.env (revision 0) +++ vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT.env (revision d3e3e25740d545eb958a595e87fa3034633e7392) @@ -0,0 +1,8 @@ +ENVIRO.NEW +ENVIRO.NAME:MODETREATMENT +ENVIRO.TDD_SBF_SOURCE:ModeTreatment +ENVIRO.MAX_VARY_RANGE: 20 +ENVIRO.STUB: ALL_BY_PROTOTYPE +ENVIRO.TYPE_HANDLED_DIRS_ALLOWED: +ENVIRO.LIBRARY_STUBS: +ENVIRO.END Index: vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT.mfg =================================================================== diff -u --- vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT.mfg (revision 0) +++ vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT.mfg (revision d3e3e25740d545eb958a595e87fa3034633e7392) @@ -0,0 +1,7 @@ + + + + COVERAGE_TYPE + STATEMENT+MCDC + + Index: vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT.tst =================================================================== diff -u --- vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT.tst (revision 0) +++ vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT.tst (revision d3e3e25740d545eb958a595e87fa3034633e7392) @@ -0,0 +1,1450 @@ +-- VectorCAST 19.sp3 (11/13/19) +-- Test Case Script +-- +-- Environment : MODETREATMENT +-- Unit(s) Under Test: ModeTreatment +-- +-- Script Features +TEST.SCRIPT_FEATURE:C_DIRECT_ARRAY_INDEXING +TEST.SCRIPT_FEATURE:CPP_CLASS_OBJECT_REVISION +TEST.SCRIPT_FEATURE:MULTIPLE_UUT_SUPPORT +TEST.SCRIPT_FEATURE:MIXED_CASE_NAMES +TEST.SCRIPT_FEATURE:STATIC_HEADER_FUNCS_IN_UUTS +TEST.SCRIPT_FEATURE:VCAST_MAIN_NOT_RENAMED +-- + +-- Unit: ModeTreatment + +-- Subprogram: execTreatmentMode + +-- Test Case: execTreatmentMode_DialysisState +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:execTreatmentMode +TEST.NEW +TEST.NAME:execTreatmentMode_DialysisState +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.FLOW + ModeTreatment.c.execTreatmentMode + uut_prototype_stubs.getMSTimerCount + uut_prototype_stubs.calcTimeBetween + uut_prototype_stubs.execDialysis + uut_prototype_stubs.getOffButtonState + uut_prototype_stubs.stopDialysis + ModeTreatment.c.execTreatmentMode +TEST.END_FLOW +TEST.END + +-- Test Case: execTreatmentMode_InvalidState +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:execTreatmentMode +TEST.NEW +TEST.NAME:execTreatmentMode_InvalidState +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:NUM_OF_TREATMENT_STATES +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:1000 +TEST.EXPECTED:ModeTreatment.<>.currentTreatmentState:TREATMENT_END_STATE +TEST.EXPECTED:uut_prototype_stubs.activateAlarm2Data.alarm:ALARM_ID_SOFTWARE_FAULT +TEST.EXPECTED:uut_prototype_stubs.activateAlarm2Data.alarmData1.dataType:ALARM_DATA_TYPE_U32 +TEST.EXPECTED:uut_prototype_stubs.activateAlarm2Data.alarmData1.data.uInt.data:59 +TEST.EXPECTED:uut_prototype_stubs.activateAlarm2Data.alarmData2.dataType:ALARM_DATA_TYPE_U32 +TEST.EXPECTED:uut_prototype_stubs.activateAlarm2Data.alarmData2.data.uInt.data:11 +TEST.END + +-- Test Case: execTreatmentMode_StartState +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:execTreatmentMode +TEST.NEW +TEST.NAME:execTreatmentMode_StartState +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_START_STATE +TEST.FLOW + ModeTreatment.c.execTreatmentMode + uut_prototype_stubs.getMSTimerCount + uut_prototype_stubs.setDialysisParams + uut_prototype_stubs.startDialysis + ModeTreatment.c.execTreatmentMode +TEST.END_FLOW +TEST.END + +-- Test Case: execTreatmentMode_StopState +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:execTreatmentMode +TEST.NEW +TEST.NAME:execTreatmentMode_StopState +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_STOP_STATE +TEST.FLOW + ModeTreatment.c.execTreatmentMode + uut_prototype_stubs.execTreatmentStop + uut_prototype_stubs.getOffButtonState + uut_prototype_stubs.stopDialysis + ModeTreatment.c.execTreatmentMode +TEST.END_FLOW +TEST.END + +-- Test Case: execTreatmentMode_TimeToBroadcastTreatmentState1 +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:execTreatmentMode +TEST.NEW +TEST.NAME:execTreatmentMode_TimeToBroadcastTreatmentState1 +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:1800000 +TEST.VALUE:ModeTreatment.<>.treatmentTimeBroadcastTimerCtr:19 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_SOLUTION_INFUSION_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_PAUSED_STATE +TEST.VALUE:uut_prototype_stubs.broadcastTreatmentTime.return:1 +TEST.VALUE:uut_prototype_stubs.broadcastTreatmentState.return:1 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeBroadcastTimerCtr:0 +TEST.EXPECTED:uut_prototype_stubs.broadcastTreatmentTime.secsTotTreatment:3600 +TEST.EXPECTED:uut_prototype_stubs.broadcastTreatmentTime.secsElapsed:1800 +TEST.EXPECTED:uut_prototype_stubs.broadcastTreatmentTime.secsRemaining:1800 +TEST.EXPECTED:uut_prototype_stubs.broadcastTreatmentState.subMode:1 +TEST.EXPECTED:uut_prototype_stubs.broadcastTreatmentState.uFState:1 +TEST.EXPECTED:uut_prototype_stubs.broadcastTreatmentState.salineBolusState:1 +TEST.END + +-- Test Case: execTreatmentMode_TimeToBroadcastTreatmentState2 +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:execTreatmentMode +TEST.NEW +TEST.NAME:execTreatmentMode_TimeToBroadcastTreatmentState2 +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:1800000 +TEST.VALUE:ModeTreatment.<>.treatmentTimeBroadcastTimerCtr:19 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_RUNNING_STATE +TEST.VALUE:uut_prototype_stubs.broadcastTreatmentTime.return:1 +TEST.VALUE:uut_prototype_stubs.broadcastTreatmentState.return:1 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeBroadcastTimerCtr:0 +TEST.EXPECTED:uut_prototype_stubs.broadcastTreatmentTime.secsTotTreatment:3600 +TEST.EXPECTED:uut_prototype_stubs.broadcastTreatmentTime.secsElapsed:1800 +TEST.EXPECTED:uut_prototype_stubs.broadcastTreatmentTime.secsRemaining:1800 +TEST.EXPECTED:uut_prototype_stubs.broadcastTreatmentState.subMode:1 +TEST.EXPECTED:uut_prototype_stubs.broadcastTreatmentState.uFState:2 +TEST.EXPECTED:uut_prototype_stubs.broadcastTreatmentState.salineBolusState:0 +TEST.END + +-- Test Case: execTreatmentMode_TreatmentDurationReached +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:execTreatmentMode +TEST.NEW +TEST.NAME:execTreatmentMode_TreatmentDurationReached +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:3599950 +TEST.VALUE:ModeTreatment.<>.lastTreatmentTimeStamp:5000950 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:5001000 +TEST.VALUE:uut_prototype_stubs.calcTimeBetween.return:50 +TEST.EXPECTED:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_END_STATE +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:3600000 +TEST.END + +-- Subprogram: getTreatmentState + +-- Test Case: getTreatmentState_NominalPath +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:getTreatmentState +TEST.NEW +TEST.NAME:getTreatmentState_NominalPath +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.EXPECTED:ModeTreatment.getTreatmentState.return:TREATMENT_DIALYSIS_STATE +TEST.END + +-- Subprogram: handleTreatmentDialysisState + +-- Test Case: handleTreatmentDialysisState_NominalPath +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:handleTreatmentDialysisState +TEST.NEW +TEST.NAME:handleTreatmentDialysisState_NominalPath +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:1000 +TEST.VALUE:ModeTreatment.<>.lastTreatmentTimeStamp:10000 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:10050 +TEST.VALUE:uut_prototype_stubs.calcTimeBetween.return:50 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:1050 +TEST.EXPECTED:ModeTreatment.<>.lastTreatmentTimeStamp:10050 +TEST.EXPECTED:ModeTreatment.handleTreatmentDialysisState.return:TREATMENT_DIALYSIS_STATE +TEST.EXPECTED:uut_prototype_stubs.calcTimeBetween.startMSCount:10000 +TEST.EXPECTED:uut_prototype_stubs.calcTimeBetween.endMSCount:10050 +TEST.FLOW + ModeTreatment.c.handleTreatmentDialysisState + uut_prototype_stubs.getMSTimerCount + uut_prototype_stubs.calcTimeBetween + uut_prototype_stubs.execDialysis + uut_prototype_stubs.getOffButtonState + ModeTreatment.c.handleTreatmentDialysisState +TEST.END_FLOW +TEST.END + +-- Subprogram: handleTreatmentStartState + +-- Test Case: handleTreatmentStartState_NominalPath +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:handleTreatmentStartState +TEST.NEW +TEST.NAME:handleTreatmentStartState_NominalPath +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:1 +TEST.VALUE:ModeTreatment.<>.lastTreatmentTimeStamp:0 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:10000 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:0 +TEST.EXPECTED:ModeTreatment.<>.lastTreatmentTimeStamp:10000 +TEST.EXPECTED:ModeTreatment.handleTreatmentStartState.return:TREATMENT_DIALYSIS_STATE +TEST.FLOW + ModeTreatment.c.handleTreatmentStartState + uut_prototype_stubs.getMSTimerCount + uut_prototype_stubs.setDialysisParams + uut_prototype_stubs.startDialysis + ModeTreatment.c.handleTreatmentStartState +TEST.END_FLOW +TEST.END + +-- Subprogram: handleTreatmentStopState + +-- Test Case: handleTreatmentStopState_NominalPath +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:handleTreatmentStopState +TEST.NEW +TEST.NAME:handleTreatmentStopState_NominalPath +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_STOP_STATE +TEST.EXPECTED:ModeTreatment.handleTreatmentStopState.return:TREATMENT_STOP_STATE +TEST.FLOW + ModeTreatment.c.handleTreatmentStopState + uut_prototype_stubs.execTreatmentStop + uut_prototype_stubs.getOffButtonState + ModeTreatment.c.handleTreatmentStopState +TEST.END_FLOW +TEST.END + +-- Subprogram: initTreatmentMode + +-- Test Case: initTreatmentMode_NominalPath +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:initTreatmentMode +TEST.NEW +TEST.NAME:initTreatmentMode_NominalPath +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_RECIRC_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:1 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:1 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:1 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:1.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:1.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:1 +TEST.VALUE:ModeTreatment.<>.lastTreatmentTimeStamp:1 +TEST.VALUE:ModeTreatment.<>.treatmentTimeBroadcastTimerCtr:1 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:1 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:1.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:1.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:1 +TEST.EXPECTED:ModeTreatment.<>.currentTreatmentState:TREATMENT_START_STATE +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:0 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:0 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:0 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:0.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:0.0 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:0 +TEST.EXPECTED:ModeTreatment.<>.lastTreatmentTimeStamp:0 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeBroadcastTimerCtr:0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.END + +-- Subprogram: transitionToTreatmentMode + +-- Test Case: transitionToTreatmentMode_NominalPath +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:transitionToTreatmentMode +TEST.NEW +TEST.NAME:transitionToTreatmentMode_NominalPath +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_RINSEBACK_PAUSE_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:1 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:1 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:1 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:1.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:1.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:1 +TEST.VALUE:ModeTreatment.<>.lastTreatmentTimeStamp:1 +TEST.VALUE:ModeTreatment.<>.treatmentTimeBroadcastTimerCtr:1 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:1 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:1.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:1.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:1 +TEST.EXPECTED:ModeTreatment.<>.currentTreatmentState:TREATMENT_START_STATE +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:0 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:0 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:0 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:0.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:0.0 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:0 +TEST.EXPECTED:ModeTreatment.<>.lastTreatmentTimeStamp:0 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeBroadcastTimerCtr:0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.FLOW + ModeTreatment.c.transitionToTreatmentMode + uut_prototype_stubs.initDialysis + uut_prototype_stubs.initTreatmentStop + ModeTreatment.c.transitionToTreatmentMode +TEST.END_FLOW +TEST.END + +-- Subprogram: verifyBloodAndDialysateRateSettingsChange + +-- Test Case: verifyBloodAndDialysateRateSettingsChange_Accepted +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyBloodAndDialysateRateSettingsChange +TEST.NEW +TEST.NAME:verifyBloodAndDialysateRateSettingsChange_Accepted +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.bloodRate:300 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.dialRate:400 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:400 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.return:1 +TEST.EXPECTED:uut_prototype_stubs.setDialysisParams.bPFlow:300 +TEST.EXPECTED:uut_prototype_stubs.setDialysisParams.dPFlow:400 +TEST.EXPECTED:uut_prototype_stubs.setDialysisParams.maxUFVol:2400.0 +TEST.EXPECTED:uut_prototype_stubs.setDialysisParams.uFRate:10.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.accepted:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.reason:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.bloodRate:300 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.dialRate:400 +TEST.END + +-- Test Case: verifyBloodAndDialysateRateSettingsChange_BloodOutOfRange1 +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyBloodAndDialysateRateSettingsChange +TEST.NEW +TEST.NAME:verifyBloodAndDialysateRateSettingsChange_BloodOutOfRange1 +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.bloodRate:550 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.dialRate:400 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.reason:8 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.bloodRate:200 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.dialRate:300 +TEST.END + +-- Test Case: verifyBloodAndDialysateRateSettingsChange_BloodOutOfRange2 +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyBloodAndDialysateRateSettingsChange +TEST.NEW +TEST.NAME:verifyBloodAndDialysateRateSettingsChange_BloodOutOfRange2 +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.bloodRate:90 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.dialRate:400 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.reason:8 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.bloodRate:200 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.dialRate:300 +TEST.END + +-- Test Case: verifyBloodAndDialysateRateSettingsChange_DialOutOfRange1 +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyBloodAndDialysateRateSettingsChange +TEST.NEW +TEST.NAME:verifyBloodAndDialysateRateSettingsChange_DialOutOfRange1 +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.bloodRate:300 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.dialRate:650 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.reason:9 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.bloodRate:200 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.dialRate:300 +TEST.END + +-- Test Case: verifyBloodAndDialysateRateSettingsChange_DialOutOfRange2 +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyBloodAndDialysateRateSettingsChange +TEST.NEW +TEST.NAME:verifyBloodAndDialysateRateSettingsChange_DialOutOfRange2 +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.bloodRate:300 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.dialRate:90 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.reason:9 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.bloodRate:200 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.dialRate:300 +TEST.END + +-- Test Case: verifyBloodAndDialysateRateSettingsChange_DialVolOutOfRange +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyBloodAndDialysateRateSettingsChange +TEST.NEW +TEST.NAME:verifyBloodAndDialysateRateSettingsChange_DialVolOutOfRange +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:28800 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.bloodRate:300 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.dialRate:400 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:28800 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.reason:10 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.bloodRate:200 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.dialRate:300 +TEST.END + +-- Test Case: verifyBloodAndDialysateRateSettingsChange_NotInTreatmentMode +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyBloodAndDialysateRateSettingsChange +TEST.NEW +TEST.NAME:verifyBloodAndDialysateRateSettingsChange_NotInTreatmentMode +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.bloodRate:300 +TEST.VALUE:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.dialRate:400 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_STAN +TEST.VALUE:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.verifyBloodAndDialysateRateSettingsChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.reason:3 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.bloodRate:200 +TEST.EXPECTED:uut_prototype_stubs.sendChangeBloodDialysateRateChangeResponse.dialRate:300 +TEST.END + +-- Subprogram: verifyTreatmentDurationSettingChange + +-- Test Case: verifyTreatmentDurationSettingChange_Accepted +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyTreatmentDurationSettingChange +TEST.NEW +TEST.NAME:verifyTreatmentDurationSettingChange_Accepted +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.VALUE:ModeTreatment.verifyTreatmentDurationSettingChange.treatmentTime:120 +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationVolumeCollected.return:1000.0 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeTreatmentDurationResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:7200 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:1700.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.EXPECTED:ModeTreatment.verifyTreatmentDurationSettingChange.return:1 +TEST.EXPECTED:uut_prototype_stubs.setDialysisParams.bPFlow:200 +TEST.EXPECTED:uut_prototype_stubs.setDialysisParams.dPFlow:300 +TEST.EXPECTED:uut_prototype_stubs.setDialysisParams.maxUFVol:1700.0 +TEST.EXPECTED:uut_prototype_stubs.setDialysisParams.uFRate:10.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.accepted:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.reason:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.time_min:120 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.volume_mL:1700.0 +TEST.END + +-- Test Case: verifyTreatmentDurationSettingChange_DialVolOutOfRange +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyTreatmentDurationSettingChange +TEST.NEW +TEST.NAME:verifyTreatmentDurationSettingChange_DialVolOutOfRange +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:400 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.VALUE:ModeTreatment.verifyTreatmentDurationSettingChange.treatmentTime:480 +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationVolumeCollected.return:1000.0 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeTreatmentDurationResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:400 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.EXPECTED:ModeTreatment.verifyTreatmentDurationSettingChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.reason:10 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.volume_mL:1500.0 +TEST.END + +-- Test Case: verifyTreatmentDurationSettingChange_InvalidTreatmentState1 +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyTreatmentDurationSettingChange +TEST.NEW +TEST.NAME:verifyTreatmentDurationSettingChange_InvalidTreatmentState1 +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_START_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:400 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.VALUE:ModeTreatment.verifyTreatmentDurationSettingChange.treatmentTime:120 +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationVolumeCollected.return:1000.0 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeTreatmentDurationResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:400 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.EXPECTED:ModeTreatment.verifyTreatmentDurationSettingChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.reason:4 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.volume_mL:1500.0 +TEST.END + +-- Test Case: verifyTreatmentDurationSettingChange_InvalidTreatmentState2 +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyTreatmentDurationSettingChange +TEST.NEW +TEST.NAME:verifyTreatmentDurationSettingChange_InvalidTreatmentState2 +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_END_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:400 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.VALUE:ModeTreatment.verifyTreatmentDurationSettingChange.treatmentTime:120 +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationVolumeCollected.return:1000.0 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeTreatmentDurationResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:400 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.EXPECTED:ModeTreatment.verifyTreatmentDurationSettingChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.reason:4 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.volume_mL:1500.0 +TEST.END + +-- Test Case: verifyTreatmentDurationSettingChange_LessThanElapsed +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyTreatmentDurationSettingChange +TEST.NEW +TEST.NAME:verifyTreatmentDurationSettingChange_LessThanElapsed +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:7200 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:400 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:3700000 +TEST.VALUE:ModeTreatment.verifyTreatmentDurationSettingChange.treatmentTime:60 +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationVolumeCollected.return:1000.0 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeTreatmentDurationResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:7200 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:400 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:3700000 +TEST.EXPECTED:ModeTreatment.verifyTreatmentDurationSettingChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.reason:7 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.time_min:120 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.volume_mL:1500.0 +TEST.END + +-- Test Case: verifyTreatmentDurationSettingChange_NotInTreatmentMode +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyTreatmentDurationSettingChange +TEST.NEW +TEST.NAME:verifyTreatmentDurationSettingChange_NotInTreatmentMode +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:400 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.VALUE:ModeTreatment.verifyTreatmentDurationSettingChange.treatmentTime:120 +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationVolumeCollected.return:1000.0 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_STAN +TEST.VALUE:uut_prototype_stubs.sendChangeTreatmentDurationResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:400 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.EXPECTED:ModeTreatment.verifyTreatmentDurationSettingChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.reason:3 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.volume_mL:1500.0 +TEST.END + +-- Test Case: verifyTreatmentDurationSettingChange_TimeOutOfRange +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyTreatmentDurationSettingChange +TEST.NEW +TEST.NAME:verifyTreatmentDurationSettingChange_TimeOutOfRange +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.VALUE:ModeTreatment.verifyTreatmentDurationSettingChange.treatmentTime:485 +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationVolumeCollected.return:1000.0 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeTreatmentDurationResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.EXPECTED:ModeTreatment.verifyTreatmentDurationSettingChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.reason:6 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.volume_mL:1500.0 +TEST.END + +-- Test Case: verifyTreatmentDurationSettingChange_UFVolOutOfRange +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyTreatmentDurationSettingChange +TEST.NEW +TEST.NAME:verifyTreatmentDurationSettingChange_UFVolOutOfRange +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:40.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.VALUE:ModeTreatment.verifyTreatmentDurationSettingChange.treatmentTime:300 +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationVolumeCollected.return:1000.0 +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeTreatmentDurationResponse.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:1500.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:40.0 +TEST.EXPECTED:ModeTreatment.<>.treatmentTimeMS:3000000 +TEST.EXPECTED:ModeTreatment.verifyTreatmentDurationSettingChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.reason:11 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeTreatmentDurationResponse.volume_mL:1500.0 +TEST.END + +-- Subprogram: verifyUFSettingsChange + +-- Test Case: verifyUFSettingsChange_Accepted +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsChange +TEST.NEW +TEST.NAME:verifyUFSettingsChange_Accepted +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:2900000 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.VALUE:ModeTreatment.verifyUFSettingsChange.uFVolume:1200.0 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_PAUSED_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:3000000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:3000000 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:1200.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:20.0 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:121 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsChange.return:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:1200.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:121 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:20.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:10.0 +TEST.END + +-- Test Case: verifyUFSettingsChange_Accepted_Bolus +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsChange +TEST.NEW +TEST.NAME:verifyUFSettingsChange_Accepted_Bolus +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:2900000 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.VALUE:ModeTreatment.verifyUFSettingsChange.uFVolume:1200.0 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_SOLUTION_INFUSION_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_PAUSED_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:3000000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:3000000 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:1200.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:20.0 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:121 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsChange.return:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:1200.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:121 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:20.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:10.0 +TEST.END + +-- Test Case: verifyUFSettingsChange_Accepted_NoTime1 +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsChange +TEST.NEW +TEST.NAME:verifyUFSettingsChange_Accepted_NoTime1 +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:2.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:10000000 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.VALUE:ModeTreatment.verifyUFSettingsChange.uFVolume:1300.0 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_PAUSED_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:3000000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:2.0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:3000000 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:1300.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:5.41667 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:240 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsChange.return:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:1300.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:240 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:5.41667 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:3.41667 +TEST.END + +-- Test Case: verifyUFSettingsChange_Accepted_NoTime2 +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsChange +TEST.NEW +TEST.NAME:verifyUFSettingsChange_Accepted_NoTime2 +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:600 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:10000000 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.VALUE:ModeTreatment.verifyUFSettingsChange.uFVolume:3600.0 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_PAUSED_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:3000000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:14400 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:600 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:2400.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:3000000 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:3600.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:15.0 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:240 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsChange.return:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:3600.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:240 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:15.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:5.0 +TEST.END + +-- Test Case: verifyUFSettingsChange_Accepted_Stopped +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsChange +TEST.NEW +TEST.NAME:verifyUFSettingsChange_Accepted_Stopped +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_STOP_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:2900000 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.VALUE:ModeTreatment.verifyUFSettingsChange.uFVolume:1200.0 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_PAUSED_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:3000000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:3000000 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:1200.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:20.0 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:121 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsChange.return:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:1200.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:121 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:20.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:10.0 +TEST.END + +-- Test Case: verifyUFSettingsChange_InvalidTreatmentState1 +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsChange +TEST.NEW +TEST.NAME:verifyUFSettingsChange_InvalidTreatmentState1 +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_START_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:2900000 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.VALUE:ModeTreatment.verifyUFSettingsChange.uFVolume:1200.0 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_RUNNING_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:3000000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:600.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:60 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:4 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:600.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:10.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:0.0 +TEST.END + +-- Test Case: verifyUFSettingsChange_InvalidTreatmentState2 +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsChange +TEST.NEW +TEST.NAME:verifyUFSettingsChange_InvalidTreatmentState2 +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_END_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:2900000 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.VALUE:ModeTreatment.verifyUFSettingsChange.uFVolume:1200.0 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_RUNNING_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:3000000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:600.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:60 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:4 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:600.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:10.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:0.0 +TEST.END + +-- Test Case: verifyUFSettingsChange_NotInTreatmentMode +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsChange +TEST.NEW +TEST.NAME:verifyUFSettingsChange_NotInTreatmentMode +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:2900000 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.VALUE:ModeTreatment.verifyUFSettingsChange.uFVolume:1200.0 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_RUNNING_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_STAN +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:3000000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:600.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:60 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:6 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:600.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:10.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:0.0 +TEST.END + +-- Test Case: verifyUFSettingsChange_TreatmentAlmostDone +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsChange +TEST.NEW +TEST.NAME:verifyUFSettingsChange_TreatmentAlmostDone +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:3010000 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.VALUE:ModeTreatment.verifyUFSettingsChange.uFVolume:1200.0 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_RUNNING_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:3000000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:600.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:60 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:5 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:600.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:10.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:0.0 +TEST.END + +-- Test Case: verifyUFSettingsChange_UFRateOutOfRange +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsChange +TEST.NEW +TEST.NAME:verifyUFSettingsChange_UFRateOutOfRange +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:2900000 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.VALUE:ModeTreatment.verifyUFSettingsChange.uFVolume:3000.0 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_RUNNING_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:3000000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:3000000 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:600.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:60 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:12 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:600.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:10.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:0.0 +TEST.END + +-- Test Case: verifyUFSettingsChange_UFVolOutOfRange +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsChange +TEST.NEW +TEST.NAME:verifyUFSettingsChange_UFVolOutOfRange +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.treatmentTimeMS:2900000 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:0.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:0 +TEST.VALUE:ModeTreatment.verifyUFSettingsChange.uFVolume:8001.0 +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_RUNNING_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:3000000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingParamChangesTimer:0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFVolumeChange:600.0 +TEST.EXPECTED:ModeTreatment.<>.pendingUFRateChange:10.0 +TEST.EXPECTED:ModeTreatment.<>.pendingTreatmentTimeChange:60 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsChange.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:11 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:600.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:10.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:0.0 +TEST.END + +-- Subprogram: verifyUFSettingsConfirmation + +-- Test Case: verifyUFSettingsConfirmation_Accepted_AdjTime +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsConfirmation +TEST.NEW +TEST.NAME:verifyUFSettingsConfirmation_Accepted_AdjTime +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:1000000 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:1200.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:20.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:120 +TEST.VALUE:ModeTreatment.verifyUFSettingsConfirmation.uFVolume:1200.0 +TEST.VALUE:ModeTreatment.verifyUFSettingsConfirmation.adjustment:UF_ADJ_TREATMENT_TIME +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_PAUSED_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:1059000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:7200 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:1200.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsConfirmation.return:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:1200.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:120 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:10.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:0.0 +TEST.FLOW + ModeTreatment.c.verifyUFSettingsConfirmation + uut_prototype_stubs.getCurrentOperationMode + uut_prototype_stubs.didTimeout + uut_prototype_stubs.getDialysisState + uut_prototype_stubs.getUltrafiltrationState + uut_prototype_stubs.setDialysisParams + uut_prototype_stubs.resumeUF + uut_prototype_stubs.sendChangeUFSettingsResponse + ModeTreatment.c.verifyUFSettingsConfirmation +TEST.END_FLOW +TEST.END + +-- Test Case: verifyUFSettingsConfirmation_Accepted_AdjUFRate +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsConfirmation +TEST.NEW +TEST.NAME:verifyUFSettingsConfirmation_Accepted_AdjUFRate +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:1000000 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:1200.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:20.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:120 +TEST.VALUE:ModeTreatment.verifyUFSettingsConfirmation.uFVolume:1200.0 +TEST.VALUE:ModeTreatment.verifyUFSettingsConfirmation.adjustment:UF_ADJ_UF_RATE +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_OFF_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:1059000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:1200.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:20.0 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsConfirmation.return:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:1200.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:20.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:0.0 +TEST.FLOW + ModeTreatment.c.verifyUFSettingsConfirmation + uut_prototype_stubs.getCurrentOperationMode + uut_prototype_stubs.didTimeout + uut_prototype_stubs.getDialysisState + uut_prototype_stubs.getUltrafiltrationState + uut_prototype_stubs.setDialysisParams + uut_prototype_stubs.sendChangeUFSettingsResponse + ModeTreatment.c.verifyUFSettingsConfirmation +TEST.END_FLOW +TEST.END + +-- Test Case: verifyUFSettingsConfirmation_Accepted_NoResume_Bolus +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsConfirmation +TEST.NEW +TEST.NAME:verifyUFSettingsConfirmation_Accepted_NoResume_Bolus +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:1000000 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:1200.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:20.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:120 +TEST.VALUE:ModeTreatment.verifyUFSettingsConfirmation.uFVolume:1200.0 +TEST.VALUE:ModeTreatment.verifyUFSettingsConfirmation.adjustment:UF_ADJ_UF_RATE +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_SOLUTION_INFUSION_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_PAUSED_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:1059000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:1200.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:20.0 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsConfirmation.return:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:1200.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:20.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:0.0 +TEST.FLOW + ModeTreatment.c.verifyUFSettingsConfirmation + uut_prototype_stubs.getCurrentOperationMode + uut_prototype_stubs.didTimeout + uut_prototype_stubs.getDialysisState + uut_prototype_stubs.getUltrafiltrationState + uut_prototype_stubs.setDialysisParams + uut_prototype_stubs.sendChangeUFSettingsResponse + ModeTreatment.c.verifyUFSettingsConfirmation +TEST.END_FLOW +TEST.END + +-- Test Case: verifyUFSettingsConfirmation_Accepted_NoResume_Stopped +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsConfirmation +TEST.NEW +TEST.NAME:verifyUFSettingsConfirmation_Accepted_NoResume_Stopped +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_STOP_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:1000000 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:1200.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:20.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:120 +TEST.VALUE:ModeTreatment.verifyUFSettingsConfirmation.uFVolume:1200.0 +TEST.VALUE:ModeTreatment.verifyUFSettingsConfirmation.adjustment:UF_ADJ_UF_RATE +TEST.VALUE:uut_prototype_stubs.getDialysisState.return:DIALYSIS_UF_STATE +TEST.VALUE:uut_prototype_stubs.getUltrafiltrationState.return:UF_RUNNING_STATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:1059000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:1200.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:20.0 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsConfirmation.return:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:1 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:1200.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:20.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:0.0 +TEST.FLOW + ModeTreatment.c.verifyUFSettingsConfirmation + uut_prototype_stubs.getCurrentOperationMode + uut_prototype_stubs.didTimeout + uut_prototype_stubs.getDialysisState + uut_prototype_stubs.getUltrafiltrationState + uut_prototype_stubs.setDialysisParams + uut_prototype_stubs.sendChangeUFSettingsResponse + ModeTreatment.c.verifyUFSettingsConfirmation +TEST.END_FLOW +TEST.END + +-- Test Case: verifyUFSettingsConfirmation_ConfirmationTimeout +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsConfirmation +TEST.NEW +TEST.NAME:verifyUFSettingsConfirmation_ConfirmationTimeout +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:1000000 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:1200.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:20.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:120 +TEST.VALUE:ModeTreatment.verifyUFSettingsConfirmation.uFVolume:1200.0 +TEST.VALUE:ModeTreatment.verifyUFSettingsConfirmation.adjustment:UF_ADJ_UF_RATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_TREA +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:1061000 +TEST.VALUE:uut_prototype_stubs.didTimeout.return:1 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsConfirmation.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:2 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:600.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:10.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:0.0 +TEST.EXPECTED:uut_prototype_stubs.didTimeout.timeoutPeriod:60000 +TEST.END + +-- Test Case: verifyUFSettingsConfirmation_NotInTreatmentMode +TEST.UNIT:ModeTreatment +TEST.SUBPROGRAM:verifyUFSettingsConfirmation +TEST.NEW +TEST.NAME:verifyUFSettingsConfirmation_NotInTreatmentMode +TEST.VALUE:ModeTreatment.<>.currentTreatmentState:TREATMENT_DIALYSIS_STATE +TEST.VALUE:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.VALUE:ModeTreatment.<>.presBloodFlowRate:200 +TEST.VALUE:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.VALUE:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.VALUE:ModeTreatment.<>.presUFRate:10.0 +TEST.VALUE:ModeTreatment.<>.pendingParamChangesTimer:1000000 +TEST.VALUE:ModeTreatment.<>.pendingUFVolumeChange:1200.0 +TEST.VALUE:ModeTreatment.<>.pendingUFRateChange:20.0 +TEST.VALUE:ModeTreatment.<>.pendingTreatmentTimeChange:120 +TEST.VALUE:ModeTreatment.verifyUFSettingsConfirmation.uFVolume:1200.0 +TEST.VALUE:ModeTreatment.verifyUFSettingsConfirmation.adjustment:UF_ADJ_UF_RATE +TEST.VALUE:uut_prototype_stubs.getCurrentOperationMode.return:MODE_STAN +TEST.VALUE:uut_prototype_stubs.sendChangeUFSettingsResponse.return:1 +TEST.VALUE:uut_prototype_stubs.getMSTimerCount.return:1059000 +TEST.EXPECTED:ModeTreatment.<>.presTreatmentTimeSecs:3600 +TEST.EXPECTED:ModeTreatment.<>.presBloodFlowRate:200 +TEST.EXPECTED:ModeTreatment.<>.presDialysateFlowRate:300 +TEST.EXPECTED:ModeTreatment.<>.presMaxUFVolumeML:600.0 +TEST.EXPECTED:ModeTreatment.<>.presUFRate:10.0 +TEST.EXPECTED:ModeTreatment.verifyUFSettingsConfirmation.return:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.accepted:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.reason:3 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.volume_mL:600.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.time_min:60 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.ufRate_mL_min:10.0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.timeDiff:0 +TEST.EXPECTED:uut_prototype_stubs.sendChangeUFSettingsResponse.rateDiff:0.0 +TEST.END Index: vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT_cba.cvr =================================================================== diff -u --- vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT_cba.cvr (revision 0) +++ vectorcast/Hercules_RM46_HD_Project/environment/MODETREATMENT/MODETREATMENT_cba.cvr (revision d3e3e25740d545eb958a595e87fa3034633e7392) @@ -0,0 +1,583 @@ +-- Imported Coverage Results Script +IMPORT.BEGIN +IMPORT.SOURCE.BEGIN +IMPORT.SOURCE.UNIT:8 +IMPORT.SOURCE.ORIG_FILENAME:S0000008.c +IMPORT.SOURCE.COVERAGE_STATUS:FALSE +IMPORT.SOURCE.COVERAGE_TYPE:None +IMPORT.SOURCE.COVER_EMPTY_STATEMENTS:TRUE +IMPORT.SOURCE.HAS_EMPTY_STATEMENTS:TRUE +IMPORT.SOURCE.COVER_CATCH_AS_BRANCH:TRUE +IMPORT.SOURCE.HAS_CATCH_STATEMENTS:TRUE +IMPORT.SOURCE.EDG_COVERAGE:TRUE +IMPORT.SOURCE.COVER_FUNCTION_PARAMETERS:TRUE +IMPORT.SOURCE.HAS_LOGICAL_OPS_IN_PARAMETERS:TRUE +IMPORT.SOURCE.COVER_CONDITIONAL_OPERATOR:TRUE +IMPORT.SOURCE.HAS_CONDITIONAL_OPERATOR:TRUE +IMPORT.SOURCE.COVER_NESTED_CONDITIONAL_OPERATOR:FALSE +IMPORT.SOURCE.HAS_NESTED_CONDITIONAL_OPERATOR:TRUE +IMPORT.SOURCE.COVER_STATEMENTS_BY_BLOCK:FALSE +IMPORT.SOURCE.COVERAGE_FOR_DECLARATIONS:INSTRUMENT_VARIABLE_DECLARATIONS_UNKNOWN +IMPORT.SOURCE.HAS_CONSTANT_BRANCH:TRUE +IMPORT.SOURCE.BASIS_PATHS_FOR_CONSTANT_BRANCHES:TRUE +IMPORT.SOURCE.END +IMPORT.SOURCE.BEGIN +IMPORT.SOURCE.UNIT:9 +IMPORT.SOURCE.ORIG_FILENAME:ModeTreatment.c +IMPORT.SOURCE.COVERAGE_STATUS:TRUE +IMPORT.SOURCE.COVERAGE_TYPE:Statement+MCDC +IMPORT.SOURCE.COVER_EMPTY_STATEMENTS:TRUE +IMPORT.SOURCE.HAS_EMPTY_STATEMENTS:TRUE +IMPORT.SOURCE.COVER_CATCH_AS_BRANCH:TRUE +IMPORT.SOURCE.HAS_CATCH_STATEMENTS:FALSE +IMPORT.SOURCE.EDG_COVERAGE:TRUE +IMPORT.SOURCE.COVER_FUNCTION_PARAMETERS:TRUE +IMPORT.SOURCE.HAS_LOGICAL_OPS_IN_PARAMETERS:FALSE +IMPORT.SOURCE.COVER_CONDITIONAL_OPERATOR:TRUE +IMPORT.SOURCE.HAS_CONDITIONAL_OPERATOR:TRUE +IMPORT.SOURCE.COVER_NESTED_CONDITIONAL_OPERATOR:TRUE +IMPORT.SOURCE.HAS_NESTED_CONDITIONAL_OPERATOR:FALSE +IMPORT.SOURCE.COVER_STATEMENTS_BY_BLOCK:FALSE +IMPORT.SOURCE.COVERAGE_FOR_DECLARATIONS:INSTRUMENT_VARIABLE_DECLARATIONS_INITIALIZATIONS +IMPORT.SOURCE.HAS_CONSTANT_BRANCH:FALSE +IMPORT.SOURCE.BASIS_PATHS_FOR_CONSTANT_BRANCHES:TRUE +IMPORT.SOURCE.COVERAGE_FOR_LAMBDAS:FALSE +IMPORT.SOURCE.END +RESULT.CBA.BEGIN +RESULT.CBA.RESULT: CBA_ModeTreatment +RESULT.CBA.NOTES +Some states not yet implemented. +Some temporary test code is in place to facilitate testing. +RESULT.CBA.NOTES_END +RESULT.CBA.UNIT: /home/fw/wshd/hdfirmware/firmware/App/Modes/ModeTreatment.c +RESULT.CBA.FUNCTION: execTreatmentMode +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 23 +RESULT.CBA.CONTEXT: case TREATMENT_DIALYSIS_END_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 23 +RESULT.CBA.COVERAGE: 1 1 +RESULT.CBA.CONTEXT: case TREATMENT_DIALYSIS_END_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 25 +RESULT.CBA.CONTEXT: case TREATMENT_END_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +requestNewOperationMode( MODE_POST ); // TODO - test code - remove later +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 25 +RESULT.CBA.COVERAGE: 1 1 +RESULT.CBA.CONTEXT: case TREATMENT_END_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +requestNewOperationMode( MODE_POST ); // TODO - test code - remove later +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 19 +RESULT.CBA.CONTEXT: case TREATMENT_RECIRC_PAUSE_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 19 +RESULT.CBA.COVERAGE: 1 1 +RESULT.CBA.CONTEXT: case TREATMENT_RECIRC_PAUSE_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 15 +RESULT.CBA.CONTEXT: case TREATMENT_RECIRC_SETUP_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 15 +RESULT.CBA.COVERAGE: 1 1 +RESULT.CBA.CONTEXT: case TREATMENT_RECIRC_SETUP_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 17 +RESULT.CBA.CONTEXT: case TREATMENT_RECIRC_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 17 +RESULT.CBA.COVERAGE: 1 1 +RESULT.CBA.CONTEXT: case TREATMENT_RECIRC_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 21 +RESULT.CBA.CONTEXT: case TREATMENT_RECIRC_STOP_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 21 +RESULT.CBA.COVERAGE: 1 1 +RESULT.CBA.CONTEXT: case TREATMENT_RECIRC_STOP_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 13 +RESULT.CBA.CONTEXT: case TREATMENT_RINSEBACK_PAUSE_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 13 +RESULT.CBA.COVERAGE: 1 1 +RESULT.CBA.CONTEXT: case TREATMENT_RINSEBACK_PAUSE_STATE: +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 11 +RESULT.CBA.CONTEXT: case TREATMENT_RINSEBACK_STATE: +RESULT.CBA.CONTEXT_BEFORE: +currentTreatmentState = handleTreatmentStopState(); +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 11 +RESULT.CBA.COVERAGE: 1 1 +RESULT.CBA.CONTEXT: case TREATMENT_RINSEBACK_STATE: +RESULT.CBA.CONTEXT_BEFORE: +currentTreatmentState = handleTreatmentStopState(); +break; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +// TODO - implement +break; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 26 +RESULT.CBA.CONTEXT: requestNewOperationMode( MODE_POST ); +RESULT.CBA.CONTEXT_BEFORE: +case TREATMENT_END_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +break; +default: +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 12 +RESULT.CBA.CONTEXT: break; +RESULT.CBA.CONTEXT_BEFORE: +case TREATMENT_RINSEBACK_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +case TREATMENT_RINSEBACK_PAUSE_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.MATCHING_LINE_INDEX: 4 +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 14 +RESULT.CBA.CONTEXT: break; +RESULT.CBA.CONTEXT_BEFORE: +case TREATMENT_RINSEBACK_PAUSE_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +case TREATMENT_RECIRC_SETUP_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.MATCHING_LINE_INDEX: 5 +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 16 +RESULT.CBA.CONTEXT: break; +RESULT.CBA.CONTEXT_BEFORE: +case TREATMENT_RECIRC_SETUP_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +case TREATMENT_RECIRC_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.MATCHING_LINE_INDEX: 6 +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 18 +RESULT.CBA.CONTEXT: break; +RESULT.CBA.CONTEXT_BEFORE: +case TREATMENT_RECIRC_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +case TREATMENT_RECIRC_PAUSE_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.MATCHING_LINE_INDEX: 7 +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 20 +RESULT.CBA.CONTEXT: break; +RESULT.CBA.CONTEXT_BEFORE: +case TREATMENT_RECIRC_PAUSE_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +case TREATMENT_RECIRC_STOP_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.MATCHING_LINE_INDEX: 8 +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 22 +RESULT.CBA.CONTEXT: break; +RESULT.CBA.CONTEXT_BEFORE: +case TREATMENT_RECIRC_STOP_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +case TREATMENT_DIALYSIS_END_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.MATCHING_LINE_INDEX: 9 +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 24 +RESULT.CBA.CONTEXT: break; +RESULT.CBA.CONTEXT_BEFORE: +case TREATMENT_DIALYSIS_END_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +case TREATMENT_END_STATE: +// TODO - implement +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.MATCHING_LINE_INDEX: 10 +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 27 +RESULT.CBA.CONTEXT: break; +RESULT.CBA.CONTEXT_BEFORE: +// TODO - implement +requestNewOperationMode( MODE_POST ); // TODO - test code - remove later +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +default: +{ ALARM_DATA_T dat1; ALARM_DATA_T dat2; dat1.dataType = ALARM_DATA_TYPE_U32; dat1.data.uInt.data = (U32)(SW_FAULT_ID_MODE_TREATMENT_INVALID_STATE); dat2.dataType = ALARM_DATA_TYPE_U32; dat2.data.uInt.data = (U32)(currentTreatmentState); activateAlarm2Data( ALARM_ID_SOFTWARE_FAULT, dat1, dat2 ); }; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.MATCHING_LINE_INDEX: 11 +RESULT.CBA.LINE.END +RESULT.CBA.FUNCTION: handleTreatmentDialysisState +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 7 +RESULT.CBA.CONTEXT: if ( getOffButtonState() == BUTTON_STATE_PRESSED +RESULT.CBA.CONTEXT_BEFORE: +execDialysis(); +// TODO - test code - remove later +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +{ +if ( lastOffButtonState == BUTTON_STATE_RELEASED ) +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 7 +RESULT.CBA.COVERAGE: 3 3 +RESULT.CBA.CONTEXT: if ( getOffButtonState() == BUTTON_STATE_PRESSED +RESULT.CBA.CONTEXT_BEFORE: +execDialysis(); +// TODO - test code - remove later +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +{ +if ( lastOffButtonState == BUTTON_STATE_RELEASED ) +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 8 +RESULT.CBA.CONTEXT: if ( lastOffButtonState == BUTTON_STATE_RELEASED +RESULT.CBA.CONTEXT_BEFORE: +if ( getOffButtonState() == BUTTON_STATE_PRESSED ) +{ +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +{ +lastOffButtonState = BUTTON_STATE_PRESSED; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 8 +RESULT.CBA.COVERAGE: 0 3 +RESULT.CBA.CONTEXT: if ( lastOffButtonState == BUTTON_STATE_RELEASED +RESULT.CBA.CONTEXT_BEFORE: +if ( getOffButtonState() == BUTTON_STATE_PRESSED ) +{ +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +{ +lastOffButtonState = BUTTON_STATE_PRESSED; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 8 +RESULT.CBA.COVERAGE: 3 3 +RESULT.CBA.CONTEXT: if ( lastOffButtonState == BUTTON_STATE_RELEASED +RESULT.CBA.CONTEXT_BEFORE: +if ( getOffButtonState() == BUTTON_STATE_PRESSED ) +{ +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +{ +lastOffButtonState = BUTTON_STATE_PRESSED; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 9 +RESULT.CBA.CONTEXT: lastOffButtonState = BUTTON_STATE_PRESSED; +RESULT.CBA.CONTEXT_BEFORE: +if ( lastOffButtonState == BUTTON_STATE_RELEASED ) +{ +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +stopDialysis(); +result = TREATMENT_STOP_STATE; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 11 +RESULT.CBA.CONTEXT: result = TREATMENT_STOP_STATE; +RESULT.CBA.CONTEXT_BEFORE: +lastOffButtonState = BUTTON_STATE_PRESSED; +stopDialysis(); +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +} +} +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 10 +RESULT.CBA.CONTEXT: stopDialysis(); +RESULT.CBA.CONTEXT_BEFORE: +{ +lastOffButtonState = BUTTON_STATE_PRESSED; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +result = TREATMENT_STOP_STATE; +} +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.FUNCTION: handleTreatmentStopState +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 3 +RESULT.CBA.CONTEXT: if ( getOffButtonState() == BUTTON_STATE_PRESSED +RESULT.CBA.CONTEXT_BEFORE: +execTreatmentStop(); +// TODO - test code - remove later +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +{ +if ( lastOffButtonState == BUTTON_STATE_RELEASED ) +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 3 +RESULT.CBA.COVERAGE: 3 3 +RESULT.CBA.CONTEXT: if ( getOffButtonState() == BUTTON_STATE_PRESSED +RESULT.CBA.CONTEXT_BEFORE: +execTreatmentStop(); +// TODO - test code - remove later +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +{ +if ( lastOffButtonState == BUTTON_STATE_RELEASED ) +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 4 +RESULT.CBA.CONTEXT: if ( lastOffButtonState == BUTTON_STATE_RELEASED +RESULT.CBA.CONTEXT_BEFORE: +if ( getOffButtonState() == BUTTON_STATE_PRESSED ) +{ +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +{ +lastOffButtonState = BUTTON_STATE_PRESSED; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 4 +RESULT.CBA.COVERAGE: 0 3 +RESULT.CBA.CONTEXT: if ( lastOffButtonState == BUTTON_STATE_RELEASED +RESULT.CBA.CONTEXT_BEFORE: +if ( getOffButtonState() == BUTTON_STATE_PRESSED ) +{ +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +{ +lastOffButtonState = BUTTON_STATE_PRESSED; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 4 +RESULT.CBA.COVERAGE: 3 3 +RESULT.CBA.CONTEXT: if ( lastOffButtonState == BUTTON_STATE_RELEASED +RESULT.CBA.CONTEXT_BEFORE: +if ( getOffButtonState() == BUTTON_STATE_PRESSED ) +{ +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +{ +lastOffButtonState = BUTTON_STATE_PRESSED; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 5 +RESULT.CBA.CONTEXT: lastOffButtonState = BUTTON_STATE_PRESSED; +RESULT.CBA.CONTEXT_BEFORE: +if ( lastOffButtonState == BUTTON_STATE_RELEASED ) +{ +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +lastTreatmentTimeStamp = getMSTimerCount(); +startDialysis(); +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 6 +RESULT.CBA.CONTEXT: lastTreatmentTimeStamp = getMSTimerCount(); +RESULT.CBA.CONTEXT_BEFORE: +{ +lastOffButtonState = BUTTON_STATE_PRESSED; +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +startDialysis(); +result = TREATMENT_DIALYSIS_STATE; +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 8 +RESULT.CBA.CONTEXT: result = TREATMENT_DIALYSIS_STATE; +RESULT.CBA.CONTEXT_BEFORE: +lastTreatmentTimeStamp = getMSTimerCount(); +startDialysis(); +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +} +} +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.LINE.BEGIN +RESULT.CBA.LINE: 7 +RESULT.CBA.CONTEXT: startDialysis(); +RESULT.CBA.CONTEXT_BEFORE: +lastOffButtonState = BUTTON_STATE_PRESSED; +lastTreatmentTimeStamp = getMSTimerCount(); +RESULT.CBA.CONTEXT_BEFORE_END +RESULT.CBA.CONTEXT_AFTER: +result = TREATMENT_DIALYSIS_STATE; +} +RESULT.CBA.CONTEXT_AFTER_END +RESULT.CBA.LINE.END +RESULT.CBA.END +IMPORT.END Index: vectorcast/Hercules_RM46_HD_Project/project.db =================================================================== diff -u -r7478d513d7493d08484a880f5cd6c296c9616e70 -rd3e3e25740d545eb958a595e87fa3034633e7392 Binary files differ