1
0
mirror of https://github.com/JoelBender/bacpypes synced 2025-10-05 22:18:16 +08:00
bacpypes/tests/test_primitivedata.py
Christian Tremblay, ing d84ccba306 Added tests to suite
Signed-off-by: Christian Tremblay, ing. <christian.tremblay@servisys.com>
2015-07-27 21:36:12 -04:00

52 lines
1.5 KiB
Python

# -*- coding: utf-8 -*-
"""
Created on Tue Mar 17 23:13:19 2015
@author: CTremblay
"""
import unittest
from bacpypes.comm import PDU
from bacpypes.primitivedata import TagList, Tag,Unsigned, Enumerated
from bacpypes.debugging import btox, xtob
class TestPrimitive(unittest.TestCase):
def setUp(self):
self.hexHello = btox(b'hello','.')
self.tlist = TagList()
self.tg = Tag()
self.p = PDU(b'')
self.unsigned_1000 = Unsigned(1000)
self.unsigned_5 = Unsigned(5)
self.t_1000 = Tag()
self.t_5 = Tag()
self.enum = Enumerated(0)
def test_strToHex(self):
self.assertEqual(self.hexHello,'68.65.6c.6c.6f')
def test_HexToStr(self):
self.assertEqual(xtob('68.65.6c.6c.6f','.'),b'hello')
def test_Unsigned_Values(self):
self.assertEqual(self.unsigned_1000.value,1000)
self.assertEqual(self.unsigned_5.value,5)
def test_Unsigned_Encoding(self):
self.unsigned_1000.encode(self.t_1000)
self.unsigned_5.encode(self.t_5)
self.assertEqual(self.t_1000.tagData,b'\x03\xe8')
self.assertEqual(self.t_5.tagData,b'\x05')
def test_pdu_put_over256(self):
with self.assertRaises(ValueError):
self.p.put(257)
def test_Enumerated(self):
self.assertEqual(self.enum.value,0)
def test_Enumerated_Encoding(self):
self.enum.encode(self.tg)
self.assertEqual(self.tg.tagData,b'\x00')
if __name__ == '__main__':
unittest.main()