Subversion Repositories HomeAutomation

Rev

Details | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
738 olof 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."""
739 olof 16
        pass
738 olof 17
 
18
    def tearDown(self):
19
        """Call after every test case."""
20
        pass
21
 
743 olof 22
    def testA_CanPktBasic1(self):
738 olof 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
 
743 olof 33
    def testB_CanPktBasic2(self):
738 olof 34
        log.debug('testCanPktBasic2')
35
        pkt = CanPkt(0xffaaaa, [0x1b, 0xff])
36
        str = pkt.toString()
37
        log.debug('pkt str: ' + str)
747 olof 38
        assert str == 'PKT 00FFAAAA 1 0 1b ff'
738 olof 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
 
743 olof 52
    def testC_CanPktBasic3(self):
738 olof 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
 
743 olof 62
    def testC_PktHandler1_1(self):
738 olof 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])
747 olof 74
        assert pkt.data[0] == 0x43
738 olof 75
        log.debug(pkt.data[1])
76
        assert pkt.data[1] == 0x01
77
 
78
if __name__ == "__main__":
79
    unittest.main() # run all tests