Skip to content

Commit 02b0712

Browse files
committed
Extend tests to 24bit types
Signed-off-by: Greter Raffael <[email protected]>
1 parent f0bdfa6 commit 02b0712

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

test/test_eds.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@ class TestEDS(unittest.TestCase):
2323
{"hex_str": "0000", "bit_length": 16, "expected": 0},
2424
{"hex_str": "0001", "bit_length": 16, "expected": 1}
2525
],
26+
"int24": [
27+
{"hex_str": "7FFFFF", "bit_length": 24, "expected": 8388607},
28+
{"hex_str": "800000", "bit_length": 24, "expected": -8388608},
29+
{"hex_str": "FFFFFF", "bit_length": 24, "expected": -1},
30+
{"hex_str": "000000", "bit_length": 24, "expected": 0},
31+
{"hex_str": "000001", "bit_length": 24, "expected": 1}
32+
],
2633
"int32": [
2734
{"hex_str": "7FFFFFFF", "bit_length": 32, "expected": 2147483647},
2835
{"hex_str": "80000000", "bit_length": 32, "expected": -2147483648},

test/test_od.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ def test_unsigned16(self):
2424
self.assertEqual(var.decode_raw(b"\xfe\xff"), 65534)
2525
self.assertEqual(var.encode_raw(65534), b"\xfe\xff")
2626

27+
def test_unsigned24(self):
28+
var = od.ODVariable("Test UNSIGNED24", 0x1000)
29+
var.data_type = od.UNSIGNED24
30+
self.assertEqual(var.decode_raw(b"\xfd\xfe\xff"), 16776957)
31+
self.assertEqual(var.encode_raw(16776957), b"\xfd\xfe\xff")
32+
2733
def test_unsigned32(self):
2834
var = od.ODVariable("Test UNSIGNED32", 0x1000)
2935
var.data_type = od.UNSIGNED32
@@ -46,6 +52,14 @@ def test_integer16(self):
4652
self.assertEqual(var.encode_raw(-2), b"\xfe\xff")
4753
self.assertEqual(var.encode_raw(1), b"\x01\x00")
4854

55+
def test_integer24(self):
56+
var = od.ODVariable("Test INTEGER24", 0x1000)
57+
var.data_type = od.INTEGER24
58+
self.assertEqual(var.decode_raw(b"\xfe\xff\xff"), -2)
59+
self.assertEqual(var.decode_raw(b"\x01\x00\x00"), 1)
60+
self.assertEqual(var.encode_raw(-2), b"\xfe\xff\xff")
61+
self.assertEqual(var.encode_raw(1), b"\x01\x00\x00")
62+
4963
def test_integer32(self):
5064
var = od.ODVariable("Test INTEGER32", 0x1000)
5165
var.data_type = od.INTEGER32

0 commit comments

Comments
 (0)