def test_handleMultipleEvents(self): pos = 60.0 #actual encoder pulses in 0.05s interval self.fake.handleEvent(comms.Message('pos', str(int(pos)))) expectedVel = round(float(60.0 / 25), 3) encoderVel = round(self.fake._velocity, 3) expectedPos = round(pos / 500, 3) encoderPos = round(self.fake._position, 3) self.assertTrue(encoderPos == expectedPos) self.assertTrue(encoderVel == expectedVel) self.HalAdapter.update(self.fake._velocity, self.fake._position) halPos = round(self.HalAdapter.h['position'], 3) halVel = round(self.HalAdapter.h['velocity'], 3) self.assertTrue(halVel == expectedVel) self.assertTrue(halPos == expectedPos) self.fake.handleEvent(comms.Message('pos', str(int(pos)))) expectedVel = round(float(60.0 / 25), 3) encoderVel = round(self.fake._velocity, 3) expectedPos = expectedPos + round(pos / 500, 3) encoderPos = round(self.fake._position, 3) self.assertTrue(encoderPos == expectedPos) self.assertTrue(encoderVel == expectedVel) self.HalAdapter.update(self.fake._velocity, self.fake._position) halPos = round(self.HalAdapter.h['position'], 3) halVel = round(self.HalAdapter.h['velocity'], 3) self.assertTrue(halVel == expectedVel) self.assertTrue(halPos == expectedPos)
def setEnable(self, en): self.enable = en if en == True: self.tempController.writeMessage(comms.Message('en', '1')) else: self.tempController.writeMessage(comms.Message('en', '0'))
def test_handlerNoArgs(self): self.eh_no_args = EventHandlerSpyNoArgs() self.eb.attach_handler('test', self.eh_no_args.eventHandler) self.eb.handle_event(comms.Message('test', '99')) self.assertTrue(self.eh_no_args.has_been_called) self.assertEqual(self.eh_no_args.last_event_name, '') self.assertEqual(self.eh_no_args.last_event_data, '') self.eh_no_args.reset() self.eb.handle_event(comms.Message('test', '')) self.assertTrue(self.eh_no_args.has_been_called) self.assertEqual(self.eh_no_args.last_event_name, '') self.assertEqual(self.eh_no_args.last_event_data, '') self.eh_no_args.reset()
def test_setIndexEnable(self): pos = 600.0 self.fake.handleEvent(comms.Message('pos', str(int(pos)))) expectedVel = round(pos / 25, 3) encoderVel = round(self.fake._velocity, 3) expectedPos = round(pos / 500, 3) encoderPos = round(self.fake._position, 3) self.assertTrue(encoderPos == expectedPos) self.assertTrue(encoderVel == expectedVel) self.HalAdapter.update(self.fake._velocity, self.fake._position) halPos = round(self.HalAdapter.h['position'], 3) halVel = round(self.HalAdapter.h['velocity'], 3) self.assertTrue(halVel == expectedVel) self.assertTrue(halPos == expectedPos) self.HalAdapter.h['index-enable'] = 1 self.HalAdapter.update(self.fake._velocity, self.fake._position) self.assertTrue(self.fake._position == 0) #self.assertTrue(self.fake.count == 0) self.assertTrue(self.HalAdapter.h['position'] == 0) self.assertTrue(self.HalAdapter.h['index-enable'] == 0)
def test_oneHandlerAttached(self): self.eb.attach_handler('apa', self.eh1.eventHandler, args=(self.eb.received_event, )) self.eb.handle_event(comms.Message('apa', '100')) self.assertTrue(self.eh1.has_been_called) self.assertFalse(self.eh2.has_been_called) self.assertEqual(self.eh1.last_event_name, 'apa') self.assertEqual(self.eh1.last_event_data, '100')
def test_03_message(self): c_tx = mod_comms.Channel('RF channel #1', '12345') c_rx = mod_comms.Channel('RF channel #2', '54321') self.assertTrue(type(c_tx) is mod_comms.Channel) self.assertTrue(type(c_rx) is mod_comms.Channel) m = mod_comms.Message(c_tx, c_rx, 'hello - this is a test', 'content of message') self.assertTrue(m.prepare()) self.assertTrue(str(m), 'sender attempting to send message to receiver') self.assertTrue(m.send())
def test_wrongEvent(self): self.eb.attach_handler('apa', self.eh1.eventHandler, args=(self.eb.received_event, )) self.eb.attach_handler('bepa', self.eh2.eventHandler, args=(self.eb.received_event, )) self.eb.handle_event(comms.Message('foo', '11')) self.assertFalse(self.eh1.has_been_called) self.assertFalse(self.eh2.has_been_called)
def test_handleEvent(self): pos = 100.0 # => vel = pos/dt/scale = pos/(dt*scale) => 100/25 = 4 self.fake.handleEvent(comms.Message('pos', str(int(pos)))) expectedVel = round(float(pos / 25), 3) encoderVel = round(self.fake._velocity, 3) expectedPos = round(pos / 500, 3) encoderPos = round(self.fake._position, 3) self.assertTrue(encoderPos == expectedPos) self.assertTrue(encoderVel == expectedVel) self.HalAdapter.update(self.fake._velocity, self.fake._position) halPos = round(self.HalAdapter.h['position'], 3) halVel = round(self.HalAdapter.h['velocity'], 3) self.assertTrue(halVel == expectedVel) self.assertTrue(halPos == expectedPos)
def test_writeMessagePortClosed(self): self.s.close() self.s.writeMessage(comms.Message('apa', '123')) self.assertTrue(self.s.serial.writeBuf == '')
def test_writeMessageNoPayload(self): self.s.writeMessage(comms.Message('bepa')) self.assertTrue(self.s.serial.writeBuf == 'bepa\n')
def test_writeMessage(self): self.s.writeMessage(comms.Message('apa', '123')) self.assertTrue(self.s.serial.writeBuf == 'apa_123\n')
def test_04_message_wrong_setup(self): c_tx = 'not a real channel' c_rx = 23423234234234 m = mod_comms.Message(c_tx, c_rx, 'BAD MESSAGE', 'wrong setup - need to pass classes') self.assertFalse(m.prepare()) self.assertFalse(m.send())
def test_clear(self): self.fake.handleEvent(comms.Message('pos', '2000')) self.fake.clear() self.assertTrue(self.fake._position == 0)
def test_wrongEvent(self): self.fake.handleEvent(comms.Message('apa', '1000')) self.assertTrue(self.fake._position == 0) self.assertTrue(self.fake._velocity == 0)
def setRefTemp(self, refT): if self.enable == True: if self.refTemp != refT: self.tempController.writeMessage(comms.Message( 'sp', str(refT))) self.refTemp = refT
def test_noHandlerAttached(self): self.eb.handle_event(comms.Message('foo', 'bar')) self.assertFalse(self.eh1.has_been_called) self.assertFalse(self.eh2.has_been_called)
def __init__(self): self.brokee_dict = {} self.received_event = comms.Message('')
def test_getCurrTemp(self): # send a message. i.e call the registered callbak with the "received" message self.tempCtrler.tempController.msg_hdlr(comms.Message('mv', '123')) self.assertTrue(self.tempCtrler.currTemp == 123)