Subversion Repositories HomeAutomation

Rev

Rev 1398 | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1. import logging as log
  2. log.basicConfig(level=log.DEBUG,
  3.                 format='%(asctime)s %(levelname)s %(message)s',
  4.                 filename=__name__ + '.log',
  5.                 filemode='w')
  6. import unittest
  7.  
  8. #--------------------------------------------------------------------------
  9.  
  10. from CanPkt import CanPkt
  11.  
  12. class CanPktTests(unittest.TestCase):
  13.  
  14.     def setUp(self):
  15.         """Call before every test case."""
  16.         pass
  17.        
  18.     def tearDown(self):
  19.         """Call after every test case."""
  20.         pass
  21.    
  22.     def testA_CanPktBasic1(self):
  23.         log.debug('testCanPktBasic1')
  24.         pkt = None
  25.         pktList = []
  26.         for i in range(0,256):
  27.             pkt = CanPkt(i, [0xff, 0x01, 0x3c])
  28.             pktList.append(pkt)
  29.             pktstr = pkt.toString()
  30.             log.debug('pkt ' + str(i) + ' str: ' + pktstr)
  31.             assert pkt.nodeId == i
  32.  
  33.     def testB_CanPktBasic2(self):
  34.         log.debug('testCanPktBasic2')
  35.         pkt = CanPkt(0xffaaaa, [0x1b, 0xff])
  36.         str = pkt.toString()
  37.         log.debug('pkt str: ' + str)
  38.         assert str == 'PKT 00FFAAAA 1 0 1b ff'
  39.         log.debug(pkt.nodeId)
  40.         assert pkt.nodeId == 0xffaaaa
  41.         log.debug(pkt.extended)
  42.         assert pkt.extended == True
  43.         log.debug(pkt.remote)
  44.         assert pkt.remote == False
  45.         log.debug(pkt.data)
  46.         log.debug(pkt.data[0])
  47.         assert pkt.data[0] == 0x1b
  48.         log.debug(pkt.data[1])
  49.         assert pkt.data[1] == 0xff
  50.         return True
  51.    
  52.     def testC_CanPktBasic3(self):
  53.         log.debug('testCanPktBasic3')
  54.         pktstr = CanPkt(0x1f8f0100,[0x5f,0x3a,0x40,0x01]).toString()
  55.         log.debug(pktstr)
  56.         pkt = CanPkt.stringToCanPkt(self, pktstr)
  57.         log.debug(pkt.nodeId)
  58.         assert pkt.nodeId == 0x1f8f0100
  59.         log.debug(pkt.data[1])
  60.         assert pkt.data[3] == 0x01
  61.    
  62.     def testC_PktHandler1_1(self):
  63.         log.debug('testPktHandler1_1')
  64.         pktstr = 'PKT 1f8f0100 1 0 43 01'
  65.         pkt = CanPkt.stringToCanPkt(self, pktstr)
  66.         log.debug(pkt.nodeId)
  67.         assert pkt.nodeId == 0x1f8f0100
  68.         log.debug(pkt.extended)
  69.         assert pkt.extended == True
  70.         log.debug(pkt.remote)
  71.         assert pkt.remote == False
  72.         log.debug(pkt.data)
  73.         log.debug(pkt.data[0])
  74.         assert pkt.data[0] == 0x43
  75.         log.debug(pkt.data[1])
  76.         assert pkt.data[1] == 0x01
  77.        
  78. if __name__ == "__main__":
  79.     unittest.main() # run all tests
  80.