## ########################################################################### # # Copyright (c) 2020-2022 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.py # # @author (last) Peter Lucia # @date (last) 29-Dec-2020 # @author (original) Peter Lucia # @date (original) 29-Dec-2020 # ############################################################################ import names from dialin.ui import utils from dialin import HDSimulator from dialin.ui.hd_simulator_alarms import Alarms def seconds_to_alarm_timeout(seconds): """ Converts seconds to hours, minutes, and seconds @param seconds: (int) seconds @return tuple """ hours = seconds // 3600 minutes = (seconds % 3600) // 60 seconds = (seconds % 3600) % 60 return hours, minutes, seconds def test_alarm_silence(hd_simulator: HDSimulator): """ Tests the alarm silence functionality @param hd_simulator: The HD Simulator object @returns: None """ flags = hd_simulator.alarms_simulator.cmd_make_alarm_flags( no_clear=1, no_resume=1, no_rinseback=1, no_end_treatment=1, no_new_treatment=1, user_must_ack=1) alarm = Alarms.ALARM_ID_ARTERIAL_PRESSURE_HIGH state = alarm[0] alarm_id = alarm[1] escalates_in = alarm[2] silence_expires = 100 hd_simulator.alarms_simulator.flags = flags hd_simulator.alarms_simulator.cmd_activate_alarm_id(state, alarm_id, escalates_in, silence_expires, hd_simulator.alarms_simulator.flags) test.compare(waitForObject(names.o_alarm_mute_button).visible, True) # silence, de-silence, silence for _ in range(3): mouseClick(names.o_alarm_mute_button) utils.waitForGUI() hd_simulator.alarms_simulator.cmd_activate_alarm_id(state, alarm_id, escalates_in, silence_expires, hd_simulator.alarms_simulator.flags) test.compare(waitForObject(names.o_TimeText_TimeText).visible, True) for silence_expires in range(100, -1, -1): hd_simulator.alarms_simulator.cmd_activate_alarm_id(state, alarm_id, escalates_in, silence_expires, hd_simulator.alarms_simulator.flags) _, minutes, seconds = seconds_to_alarm_timeout(silence_expires) test.compare(waitForObject(names.o_TimeText_TimeText).time, "{0}:{1:02d}".format(minutes, seconds)) def main(): """ Main function to test the alarm flags. @return: None """ utils.tstStart(__file__) startApplication(names.AUT_NAME + " -q") hd_simulator = HDSimulator() test_alarm_silence(hd_simulator) utils.tstDone()