Index: HemodialysisDevice.py =================================================================== diff -u -r8735608b72c44913ad2623ee0bb8883f6e2bfa92 -rc172ebf4d713b654fb5a75113c96bf7f5ef5d858 --- HemodialysisDevice.py (.../HemodialysisDevice.py) (revision 8735608b72c44913ad2623ee0bb8883f6e2bfa92) +++ HemodialysisDevice.py (.../HemodialysisDevice.py) (revision c172ebf4d713b654fb5a75113c96bf7f5ef5d858) @@ -20,6 +20,8 @@ from DialityCoreCanProtocol import DenaliChannels from time import sleep from binascii import unhexlify +from HD_DialOutFlow import HD_DialOut +from HD_DialOutFlow import DialOutStates import struct @@ -50,6 +52,7 @@ self.Buttons = HD.HD_Buttons(self) self.BloodFlow = HD.HD_BloodFlow(self, self.can_interface) self.Watchdog = HD.HD_Watchdog(self) + self.DialOut = HD_DialOut(self.can_interface) class HD__Basics: """ @@ -874,6 +877,40 @@ # t2 = message_id +def test_HD_DialOutFlow(): + """ + test_HD_DialOutFlow is a pytest function to test the HD_DialOutFlow states + + :return: True if test passed, False, otherwise + """ + # create an HD object called hd + hd_obj = HD() + + # wait 2 seconds and then login to HD as a tester + sleep(2) + hd_obj._Basics.CmdLogInToHD() + + sleep(5) + hd_obj.DialOut.setUFState(DialOutStates.RUN) + sleep(2) + state_run = hd_obj.DialOut.DialOutBroadcast['state'] + print(hd_obj.DialOut.DialOutBroadcast) + + sleep(5) + hd_obj.DialOut.setUFState(DialOutStates.PAUSE) + sleep(2) + state_pause = hd_obj.DialOut.DialOutBroadcast['state'] + print(hd_obj.DialOut.DialOutBroadcast) + + sleep(3) + hd_obj.DialOut.setUFState(DialOutStates.STOP) + sleep(2) + state_stop = hd_obj.DialOut.DialOutBroadcast['state'] + print(hd_obj.DialOut.DialOutBroadcast) + + assert(state_run == 'RUN' and state_stop == 'STOP' and state_pause == 'PAUSE') + + if __name__ == "__main__": # create an HD object called hd hd = HD()