Index: shared/scripts/configuration/config.py =================================================================== diff -u -r307aa453e726df173f6071e6c1f8ea537ed79e60 -r08c6720965f526cb52a331b241360a36562b1505 --- shared/scripts/configuration/config.py (.../config.py) (revision 307aa453e726df173f6071e6c1f8ea537ed79e60) +++ shared/scripts/configuration/config.py (.../config.py) (revision 08c6720965f526cb52a331b241360a36562b1505) @@ -22,11 +22,6 @@ COMMON_PATH = os.environ['HOME']+"/Projects" -COLOR_CODES = {"Aqua": "#81ffff", "Blue": "#017dea", "Blue 2": "#1090d5", "Green": "#29fd2d", "Grey": "#d3d3d3", - "Lavender": "#db98f5", "Light Blue": "#acd7f1", "Light Teal": "#29f1da","Lime": "#b7fc36", - "Magenta":"#fd28fd", "Orange": "#f2721c", "Peach":"#f1979a", "Red": "#c53b33", "Rose":"#fc178d", - "Slate blue":"#7f7ffa", "Violet": "#6435c9", "White": "#ffffff", "Yellow": "#fcfc4d"} - #standby mode GOODMORNING_START_TIME_SEC = 0 GOODEVENING_START_TIME_SEC = 43200 @@ -38,25 +33,17 @@ #ultrafilteration volume based on flow parameters. Python list contains Rotational speed, Motor speed, # MC speed, MC current and PWM. TREATMENT_ULTRAFILTRATION_FLOW_PARAMETERS = { - 0 : [100, 1, 1, 1, 1, 1, 1], - 1 : [550, 24, 32, 425, 85, 18, 36], - 2 : [80, 125, 187, 257, 530, 458, 985], - 3 : [100, 0, 0, 0, 0, 0, 0], - 4 : [220, 1.45, 1.45, 1.45, 1.45, 1.45, 1.45], + 0 : [100, 0, 0, 0, 0, 0, 0], + 1 : [220, 1.45, 1.45, 1.45, 1.45, 1.45, 1.45], } #dictionary contains uf maximum and minimum value's to set. TREATMENT_ULTRAFILTRATION_TESTING_OPTION = { 0 : {"uf_maximum" : 600, "uf_minimum" : 0}, - 1 : {"uf_maximum" : 500, "uf_minimum" : 0}, - 2 : {"uf_maximum" : 280, "uf_minimum" : 0}, - 3 : {"uf_maximum" : 765, "uf_minimum" : 500}, - 4 : {"uf_maximum" : 680, "uf_minimum" : 450}, - 5 : {"uf_maximum" : 480, "uf_minimum" : 380}, + 1 : {"uf_maximum" : 480, "uf_minimum" : 250}, } - NUM_OF_REQUEST_REJECT_REASONS = 43 ACCEPTED = True Index: shared/scripts/configuration/strings.py =================================================================== diff -u -r307aa453e726df173f6071e6c1f8ea537ed79e60 -r08c6720965f526cb52a331b241360a36562b1505 --- shared/scripts/configuration/strings.py (.../strings.py) (revision 307aa453e726df173f6071e6c1f8ea537ed79e60) +++ shared/scripts/configuration/strings.py (.../strings.py) (revision 08c6720965f526cb52a331b241360a36562b1505) @@ -13,10 +13,17 @@ # ############################################################################ + BLOOD_PRIMING_TEXT = "Blood Priming" SALINE_UNIT = "mL" -BLOOD_PRIMING_DEFAULT_VALUE = "0 mL" +BLOOD_PRIMING_UNIT = "mL" +BLOOD_PRIMING_VALUE_0 = "0" +BLOOD_PRIMING_DEFAULT_VALUE = BLOOD_PRIMING_VALUE_0 + " " + BLOOD_PRIMING_UNIT + + ULTRAFILTRATION_PAUSED_TEXT = "Ultrafiltration Paused" +INCREASE_UF_RATE_TEXT = "Increase UF Rate" +INCREASE_TREATMENT_DURATION_TEXT = "Increase Treatment Duration" RESUME_TEXT = "RESUME ULTRAFILTRATION" EDIT_TEXT = "EDIT ULTRAFILTRATION VOLUME" TITLE_TEXT = "ULTRAFILTRATION VOLUME (L)" @@ -69,3 +76,5 @@ 42: "REQUEST_REJECT_REASON_DOOR_NOT_CLOSED", # Door is not closed 43: "REQUEST_REJECT_REASON_SYRINGE_NOT_PRESENT", # Syringe is not present } + + Index: shared/scripts/configuration/utility.py =================================================================== diff -u -r6888c20cc22610e31e139e7b94e2f53d12df57c0 -r08c6720965f526cb52a331b241360a36562b1505 --- shared/scripts/configuration/utility.py (.../utility.py) (revision 6888c20cc22610e31e139e7b94e2f53d12df57c0) +++ shared/scripts/configuration/utility.py (.../utility.py) (revision 08c6720965f526cb52a331b241360a36562b1505) @@ -12,11 +12,7 @@ # ############################################################################ - -import sys -import test import squish -from configuration import config from builtins import int as pyInt def check_if_object_is_within_the_container(obj=None, container=None): Index: shared/scripts/names.py =================================================================== diff -u -r6888c20cc22610e31e139e7b94e2f53d12df57c0 -r08c6720965f526cb52a331b241360a36562b1505 --- shared/scripts/names.py (.../names.py) (revision 6888c20cc22610e31e139e7b94e2f53d12df57c0) +++ shared/scripts/names.py (.../names.py) (revision 08c6720965f526cb52a331b241360a36562b1505) @@ -13,7 +13,6 @@ o_Gui_MainView = {"type": "Gui::MainView", "unnamed": 1, "visible": True} -o_Overlay = {"container": o_Gui_MainView, "type": "Overlay", "unnamed": 1, "visible": True} o_borderRect_Rectangle = {"container": o_Overlay, "gradient": 0, "id": "_borderRect", "type": "Rectangle", "unnamed": 1, "visible": True} o_minimizeButton_UpDownButton = {"container": o_Overlay, "gradient": 0, "id": "_minimizeButton", "type": "UpDownButton", "unnamed": 1, "visible": True} o_shape_Shape = {"container": o_Gui_MainView, "id": "_shape", "type": "Shape", "unnamed": 1, "visible": True} @@ -72,9 +71,8 @@ o_ultrafilteration_pause_btn = {"container": o_Overlay, "text": "PAUSE ULTRAFILTRATION", "type": "Text", "unnamed": 1, "visible": True} o_ultrafilteration_resume_btn = {"container": o_Overlay, "text": "RESUME ULTRAFILTRATION", "type": "Text", "unnamed": 1, "visible": True} o_ultrafilteration_back_btn = {"container": o_Overlay, "text": "BACK", "type": "Text", "unnamed": 1, "visible": True} -o_ultrafilteration_texts ={"container": o_Overlay, "type": "Text", "unnamed": 1, "visible": True} +o_ultrafilteration_texts ={"container": o_Overlay, "text": "", "type": "Text", "unnamed": 1, "visible": True} o_ultrafilteration_confirm_btn = {"container": o_Overlay, "text": "CONFIRM", "type": "Text", "unnamed": 1, "visible": True} o_ultrafilteration_next_btn = {"container": o_Overlay, "text": "NEXT", "type": "Text", "unnamed": 1, "visible": True} - Index: tst_main_treatment_ultrafilteration/test.py =================================================================== diff -u -r0ff2495314b777995d520fa8a73ae49ed617418f -r08c6720965f526cb52a331b241360a36562b1505 --- tst_main_treatment_ultrafilteration/test.py (.../test.py) (revision 0ff2495314b777995d520fa8a73ae49ed617418f) +++ tst_main_treatment_ultrafilteration/test.py (.../test.py) (revision 08c6720965f526cb52a331b241360a36562b1505) @@ -20,14 +20,37 @@ from dialin.ui import utils from dialin.common.ui_defs import TXStates as uf_states from dialin.ui.hd_simulator import HDSimulator +from dialin.common.hd_defs import HDOpSubModes, TreatmentStates from configuration import config - hd_simulator = HDSimulator() -INCREASE_UF_RATE_TEXT = "Increase UF Rate" -INCREASE_TREATMENT_DURATION_TEXT = "Increase Treatment Duration" +RANDOM_VOLUME = 200 +RANDOM_DURATION = 300 +RANDOM_DURATION_DIFFERENCE =10 +RANDOM_RATE = 1 +RANDOM_RATE_DIFFERENCE = 1 +RANDOM_RATE_OLD = 1 +REF_UF_VOL_INDEX = 0 +MEASURED_UF_VOL_INDEX = 1 +ROT_SPEED_INDEX = 2 +MOT_SPEED_INDEX = 3 +MC_SPEED_INDEX = 4 +MC_CURRENT_INDEX = 5 +PWM_INDEX = 6 +MIN_DIALYSATE_FLOW_RATE = 0 +MIN_TREATMENT_DURATION = 0 +MAX_DIALYSATE_FLOW_RATE = 0 +MAX_TREATMENT_DURATION = 100 +ROT_SPEED = 0 +MOT_SPEED = 0 +MC_SPEED = 0 +MC_CURRENT = 0 +PWM = 0 +REF_UF_VOL = 0 +MEASURED_UF_VOL = 0 + def verification_of_uf_from_main_treatment(): """ @return: N/A @@ -46,12 +69,13 @@ """ min_uf = ultrafiltration_range["uf_minimum"] max_uf = ultrafiltration_range["uf_maximum"] + #FIXME : ultrafiltration minimum range from progress bar is not changing based on simulator input - hd_simulator.cmd_set_treatment_parameter_ranges(0, 100, min_uf, max_uf, 0, 0) + hd_simulator.cmd_set_treatment_parameter_ranges(MIN_TREATMENT_DURATION, MAX_TREATMENT_DURATION, min_uf, max_uf, MIN_DIALYSATE_FLOW_RATE, MAX_DIALYSATE_FLOW_RATE) for uf_value in range(min_uf, (max_uf)+1, 1): - hd_simulator.cmd_set_treatment_ultrafiltration_outlet_flow_data(uf_value, uf_value, 0, 0, 0, 0, 0) - utils.waitForGUI(0.1) + hd_simulator.cmd_set_treatment_ultrafiltration_outlet_flow_data(uf_value, uf_value, ROT_SPEED, MOT_SPEED, MC_SPEED, MC_CURRENT, PWM) + utils.waitForGUI(0.2) test.compare(utils.l2ml(waitForObjectExists(names.o_treatmentStart_ultrafiltrationTouchArea_TreatmentUltrafiltration).value), uf_value, "uf set value should be :" + str(uf_value)) hd_simulator.cmd_send_uf_treatment_response(accepted = True, reason = 0, volume = 500) if uf_state == uf_states.UF_RUNNING_STATE: @@ -67,8 +91,8 @@ @param : N/A @return: N/A """ - hd_simulator.cmd_set_treatment_ultrafiltration_outlet_flow_data(0, 0, 0, 0, 0, 0, 0) - test.compare(waitForObjectExists(names.o_treatmentStart_ultrafiltrationTouchArea_TreatmentUltrafiltration).value, 0, "uf treatment reset to 0") + hd_simulator.cmd_set_treatment_ultrafiltration_outlet_flow_data(REF_UF_VOL, MEASURED_UF_VOL, ROT_SPEED, MOT_SPEED, MC_SPEED, MC_CURRENT, PWM) + test.compare(waitForObjectExists(names.o_treatmentStart_ultrafiltrationTouchArea_TreatmentUltrafiltration).value, config.UF_MINIMUM_VALUE, "uf treatment reset to 0") def treatment_ultrafiltration_based_on_flow_parameter(ultrafiltration_flow_parameter): @@ -84,16 +108,9 @@ @param ultrafiltration_flow_parameter[6]: (float) PWM @return: none """ - ref_uf_vol = ultrafiltration_flow_parameter[0] - measured_uf_vol = ultrafiltration_flow_parameter[1] - rot_speed = ultrafiltration_flow_parameter[2] - mot_speed = ultrafiltration_flow_parameter[3] - mc_speed = ultrafiltration_flow_parameter[4] - mc_current = ultrafiltration_flow_parameter[5] - pwm = ultrafiltration_flow_parameter[6] - hd_simulator.cmd_set_treatment_ultrafiltration_outlet_flow_data(ref_uf_vol, measured_uf_vol, - rot_speed, mot_speed, mc_speed, - mc_current, pwm) + hd_simulator.cmd_set_treatment_ultrafiltration_outlet_flow_data(ultrafiltration_flow_parameter[REF_UF_VOL_INDEX], ultrafiltration_flow_parameter[MEASURED_UF_VOL_INDEX], + ultrafiltration_flow_parameter[ROT_SPEED_INDEX], ultrafiltration_flow_parameter[MOT_SPEED_INDEX], ultrafiltration_flow_parameter[MC_SPEED_INDEX], + ultrafiltration_flow_parameter[MC_CURRENT_INDEX], ultrafiltration_flow_parameter[PWM_INDEX]) test.log("test to verify ultrafiltration flow parameters.") @@ -152,17 +169,18 @@ test.compare(waitForObjectExists(names.o_treatmentHome_Ultrafiltration_Paused_Text).text, config.ULTRAFILTRATION_PAUSED_TEXT, "paused text verified") mouseClick(names.o_treatmentStart_ultrafiltrationTouchArea_TreatmentUltrafiltration) - hd_simulator.cmd_set_treatment_adjust_ultrafiltration_edit_response(accepted=config.ACCEPTED, reason=0, volume=200, - duration=300, duration_diff=10, - rate=10, rate_diff=1, rate_old=1) - verify_edit_response_messages(volume=200, duration=300, duration_diff=10, - rate=1, rate_diff=1, rate_old=1, option="Time Duration") + hd_simulator.cmd_set_treatment_adjust_ultrafiltration_edit_response(config.ACCEPTED, 0, RANDOM_VOLUME, + RANDOM_DURATION, RANDOM_DURATION_DIFFERENCE, + RANDOM_RATE, RANDOM_RATE_DIFFERENCE, RANDOM_RATE_OLD) + verify_edit_response_messages(RANDOM_VOLUME, RANDOM_DURATION, RANDOM_DURATION_DIFFERENCE, + RANDOM_RATE, RANDOM_RATE_DIFFERENCE, RANDOM_RATE_OLD, option="Time Duration") - hd_simulator.cmd_set_treatment_adjust_ultrafiltration_edit_response(accepted=config.ACCEPTED, reason=0, volume=200, - duration=300, duration_diff=10, - rate=10, rate_diff=1, rate_old=1) - verify_edit_response_messages(volume=200, duration=300, duration_diff=10, - rate=1, rate_diff=1, rate_old=1, option="Rate") + hd_simulator.cmd_set_treatment_adjust_ultrafiltration_edit_response(config.ACCEPTED, 0, RANDOM_VOLUME, + RANDOM_DURATION, RANDOM_DURATION_DIFFERENCE, + RANDOM_RATE, RANDOM_RATE_DIFFERENCE, RANDOM_RATE_OLD) + verify_edit_response_messages(RANDOM_VOLUME, RANDOM_DURATION, RANDOM_DURATION_DIFFERENCE, + RANDOM_RATE, RANDOM_RATE_DIFFERENCE, RANDOM_RATE_OLD, option="Time Duration") + test.compare(waitForObjectExists(names.o_treatmentHome_Ultrafiltration_Paused_Text).text, config.ULTRAFILTRATION_PAUSED_TEXT, "paused text should be "+str(config.ULTRAFILTRATION_PAUSED_TEXT)) test.endSection() @@ -206,19 +224,20 @@ mouseClick(names.o_treatmentStart_ultrafiltrationTouchArea_TreatmentUltrafiltration) test.compare(waitForObjectExists(names.o_ultrafiltration_volume_text).text, config.TITLE_TEXT, "title text verified ") - for rejection in range(1, config.NUM_OF_REQUEST_REJECT_REASONS + 1): + for rejection in range(1, config.NUM_OF_REQUEST_REJECT_REASONS + 1): hd_simulator.cmd_set_treatment_adjust_ultrafiltration_rejected(reason = rejection, state = uf_states) rejection_message = waitForObjectExists(names.o_notificationbar_response) test.compare(rejection_message.text, config.REJECTION_REASON[rejection], "expected rejection {msg} displayed".format(msg=config.REJECTION_REASON[rejection])) test.endSection() + def expected_uf_texts(text): names.o_ultrafilteration_texts["text"] = text return names.o_ultrafilteration_texts -def verify_edit_response_messages(volume, duration, duration_diff, - rate, rate_diff, rate_old, option): + +def verify_edit_response_messages(volume, duration, duration_diff, rate, rate_diff, rate_old, option): """ Method to verify the edit response message pop up contents and select 'Increase UF Rate' @@ -236,10 +255,10 @@ edit_volume_message = "To confirm new UF Volume ({:.3f}),\nselect a treatment adjustment:".format(volume/1000) expected_edit_volume_msg = waitForObjectExists(expected_uf_texts(edit_volume_message)) test.compare(expected_edit_volume_msg.text, edit_volume_message, "Edit Volume title message should be {}".format(edit_volume_message)) - increase_uf_rate_text = waitForObjectExists(expected_uf_texts(INCREASE_UF_RATE_TEXT)) - test.compare(increase_uf_rate_text.text, INCREASE_UF_RATE_TEXT, "Increase UF rate box title should be {}".format(INCREASE_UF_RATE_TEXT)) - increase_treatment_duration_text = waitForObjectExists(expected_uf_texts(INCREASE_TREATMENT_DURATION_TEXT)) - test.compare(increase_treatment_duration_text.text, INCREASE_TREATMENT_DURATION_TEXT, "Increase treatment duration box title should be {}".format(INCREASE_TREATMENT_DURATION_TEXT)) + increase_uf_rate_text = waitForObjectExists(expected_uf_texts(config.INCREASE_UF_RATE_TEXT)) + test.compare(increase_uf_rate_text.text, config.INCREASE_UF_RATE_TEXT, "Increase UF rate box title should be {}".format(config.INCREASE_UF_RATE_TEXT)) + increase_treatment_duration_text = waitForObjectExists(expected_uf_texts(config.INCREASE_TREATMENT_DURATION_TEXT)) + test.compare(increase_treatment_duration_text.text, config.INCREASE_TREATMENT_DURATION_TEXT, "Increase treatment duration box title should be {}".format(config.INCREASE_TREATMENT_DURATION_TEXT)) increase_uf_rate_msg = "The rate increases by {} mL/min,\nthe treatment duration remains the same.".format(rate) increase_uf_rate_msg_text = waitForObjectExists(expected_uf_texts(increase_uf_rate_msg)) test.compare(increase_uf_rate_msg_text.text, increase_uf_rate_msg, "Increase UF rate msg should be {}".format(increase_uf_rate_msg)) @@ -260,14 +279,16 @@ duration=duration, rate=rate) test.endSection() + def main(): + utils.tstStart(__file__) startApplication(config.AUT_NAME) #navigate to dialysis state - 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) + hd_simulator.cmd_set_treatment_states_data(sub_mode=HDOpSubModes.SUBMODE_WAIT_FOR_DISINFECT.value, uf_state=TreatmentStates.TREATMENT_START_STATE.value, saline_state=TreatmentStates.TREATMENT_START_STATE.value, heparin_state=TreatmentStates.TREATMENT_START_STATE.value, + rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, dialysis_state=TreatmentStates.TREATMENT_START_STATE.value) verification_of_uf_from_main_treatment()