示例#1
0
    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)
示例#2
0
    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'))
示例#3
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()
示例#4
0
    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)
示例#5
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')
示例#6
0
    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())
示例#7
0
    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)
示例#8
0
    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)
示例#9
0
 def test_writeMessagePortClosed(self):
    self.s.close()
    self.s.writeMessage(comms.Message('apa', '123'))
    self.assertTrue(self.s.serial.writeBuf == '')
示例#10
0
 def test_writeMessageNoPayload(self):
    self.s.writeMessage(comms.Message('bepa'))
    self.assertTrue(self.s.serial.writeBuf == 'bepa\n')
示例#11
0
 def test_writeMessage(self):
    self.s.writeMessage(comms.Message('apa', '123'))
    self.assertTrue(self.s.serial.writeBuf == 'apa_123\n')
示例#12
0
 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())
示例#13
0
    def test_clear(self):
        self.fake.handleEvent(comms.Message('pos', '2000'))
        self.fake.clear()

        self.assertTrue(self.fake._position == 0)
示例#14
0
    def test_wrongEvent(self):
        self.fake.handleEvent(comms.Message('apa', '1000'))

        self.assertTrue(self.fake._position == 0)
        self.assertTrue(self.fake._velocity == 0)
示例#15
0
 def setRefTemp(self, refT):
     if self.enable == True:
         if self.refTemp != refT:
             self.tempController.writeMessage(comms.Message(
                 'sp', str(refT)))
             self.refTemp = refT
示例#16
0
 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)
示例#17
0
 def __init__(self):
     self.brokee_dict = {}
     self.received_event = comms.Message('')
示例#18
0
 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)