# -*- coding: utf-8 -*-" ########################################################################### # # Copyright (c) 2023-2025 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) Vy # @date (last) 17-Oct-2023 # @author (original) Vy # @date (original) 17-Oct-2023 # ############################################################################ import names from builtins import int as pyInt from configuration.config import * from configuration.utility import * from configuration import application_init from dialin.ui import utils from dialin.ui.hd_simulator import HDSimulator from configuration import utility from dialin.common.msg_ids import MsgIds from dialin.common import msg_defs hd_simulator = HDSimulator() TREATMENT_FLOW_ADJUSTMENT_HD_TEST_VALUES = [ {"blood_flow": 120, "dialysate_flow": 30}, {"blood_flow": 200, "dialysate_flow": 35} ] def test_GUI_response_to_HD_value_setting(): for index in range(0, len(TREATMENT_FLOW_ADJUSTMENT_HD_TEST_VALUES), 1): blood_flow_test_value = TREATMENT_FLOW_ADJUSTMENT_HD_TEST_VALUES[index]["blood_flow"] dialysate_flow_test_value = TREATMENT_FLOW_ADJUSTMENT_HD_TEST_VALUES[index]["dialysate_flow"] test.startSection(f"Testing the flow value display : blood flow ({blood_flow_test_value}) and dialysate flow ({dialysate_flow_test_value})") hd_simulator.cmd_set_treatment_blood_flow_rate(0,0.1,0.2,0.3,0.4,0.5,0,6,blood_flow_test_value, 0) hd_simulator.cmd_set_treatment_dialysate_flow_rate(0,0.1,0.2,0.3,0.4,0.5,0,6,dialysate_flow_test_value, 0) utils.waitForGUI(0.5) # check blood flow labels names.o_treatmentHome_text_container["text"] = str(blood_flow_test_value) blood_flow_display_object = utility.get_object_from_names(names.o_treatmentHome_text_container, error_message="blood flow text object is missing") if blood_flow_display_object is not None: test.compare(blood_flow_display_object.text, str(blood_flow_test_value), "Expecting flow value to be displayed") # check dialysate flow labesl names.o_treatmentHome_text_container["text"] = str(dialysate_flow_test_value) dialysate_flow_display_object = utility.get_object_from_names(names.o_treatmentHome_text_container, error_message="dialysate flow text object is missing") if dialysate_flow_display_object is not None: test.compare(dialysate_flow_display_object.text, str(dialysate_flow_test_value), "Expecting flow value to be displayed") test.endSection() def main(): utils.tstStart(__file__) application_init.setup_post_log_successful_start() startApplication(config.AUT_NAME_ONLY +" -q") hd_simulator.cmd_send_power_on_self_test_version_request() hd_simulator.cmd_set_treatment_states_data(sub_mode=2, uf_state=0, saline_state=0, heparin_state=0, rinseback_state=0, recirculate_state=0, blood_prime_state=0, treatment_end_state=0, treatment_stop_state=0, dialysis_state=0) # flow values shown on the treatment screen test_GUI_response_to_HD_value_setting() # TODO need to test pop up screen with sliders # TODO need to check values in log utils.tstDone()