########################################################################### # # Copyright (c) 2020 Diality Inc. - All Rights Reserved. # # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN # WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # @file test_hd_simulator.py # # @date 06-Aug-2020 # @author P. Lucia # # @brief # # ############################################################################ import sys sys.path.append("..") from dialin.ui.hd_simulator import HDSimulator, MsgDefs, Alarms from time import sleep def test_invalid_parameters(): hd_simulator = HDSimulator(log_level="DEBUG") rejections = [ MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # overall response MsgDefs.REQUEST_REJECT_REASON_BLOOD_FLOW_OUT_OF_RANGE, # blood flow MsgDefs.REQUEST_REJECT_REASON_DIAL_FLOW_OUT_OF_RANGE, # dialysate flow MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # duration MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # heparin dispensing rate MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # heparin bolus volume MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # heparin stop time MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # saline bolus MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # acid concentrate MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # bicarbonate concentrate MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # dialyzer type MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # dialysate temperature MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # arterial pressure limit low MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # arterial pressure limit high MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # venous pressure limit low MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # venous pressure limit high MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE, # blood pressure measurement interval MsgDefs.REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE # rinseback flow rate ] hd_simulator.cmd_send_treatment_parameter_validation_response(rejections) def test_poweroff(): hd_simulator = HDSimulator(log_level="DEBUG") hd_simulator.cmd_send_poweroff_button_pressed() hd_simulator.cmd_send_broadcast_poweroff() def test_clear_alarms(): hd_simulator = HDSimulator() hd_simulator.cmd_activate_alarm(Alarms.ALARM_ID_ARTERIAL_PRESSURE_HIGH) sleep(1) hd_simulator.cmd_send_clear_alarms() if __name__ == '__main__': # test_invalid_parameters() test_clear_alarms()