Skip to content

Commit a0ffffb

Browse files
committed
Add unit tests involving sparse bit offset enumerations.
Test encoding and decoding with non-contiguous bit offsets.
1 parent 79f8bf8 commit a0ffffb

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

test/test_od.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,16 @@ def test_bits(self):
248248
with self.assertRaises(KeyError):
249249
var.encode_bits(0, "DOES NOT EXIST", 0)
250250

251+
def test_bits_sparse(self):
252+
var = od.ODVariable("Test UNSIGNED8", 0x1000)
253+
var.data_type = od.UNSIGNED8
254+
255+
self.assertEqual(var.decode_bits(0b11111111, [2, 5]), 0b1001)
256+
self.assertEqual(var.decode_bits(0b11011011, [2, 5]), 0)
257+
self.assertEqual(var.encode_bits(0b11111111, [2, 5], 0), 0b11011011)
258+
self.assertEqual(var.encode_bits(0b00000000, [2, 5], 0b1001), 0b00100100)
259+
self.assertEqual(var.encode_bits(0b00000000, [2, 5], 0b1111), 0b00100100)
260+
251261

252262
class TestObjectDictionary(unittest.TestCase):
253263

0 commit comments

Comments
 (0)