mirror of https://github.com/Nonannet/pyhoff.git
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
import unittest
|
|
from pyhoff.modbus import _get_bits, _get_words, _from_bits, _from_words
|
|
|
|
|
|
class TestModbusFunctions(unittest.TestCase):
|
|
|
|
def test_get_bits(self):
|
|
data = bytes([0b11101010, 0b11010101])
|
|
bit_number = 16
|
|
expected = [False, True, False, True, False, True, True, True,
|
|
True, False, True, False, True, False, True, True]
|
|
result = _get_bits(data, bit_number)
|
|
self.assertEqual(result, expected)
|
|
|
|
def test_get_words(self):
|
|
data = bytes([0x12, 0x34, 0x56, 0x78])
|
|
expected = [0x1234, 0x5678]
|
|
result = _get_words(data)
|
|
self.assertEqual(result, expected)
|
|
|
|
def test_from_bits(self):
|
|
values = [False, True, False, True, False, True, True, True,
|
|
True, False, True, False, True, False, True, True]
|
|
expected = bytes([0b11101010, 0b11010101])
|
|
result = _from_bits(values)
|
|
self.assertEqual(result, expected)
|
|
|
|
def test_from_words(self):
|
|
values = [0x1234, 0x5678]
|
|
expected = bytes([0x12, 0x34, 0x56, 0x78])
|
|
result = _from_words(values)
|
|
self.assertEqual(result, expected)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|