Coverage for /home/jenkins/workspace/NDS/Zserio/NDS_ZSERIO-linux-build/compiler/extensions/python/runtime/tests/test_bitfield.py: 100%
48 statements
« prev ^ index » next coverage.py v6.5.0, created at 2023-12-13 15:12 +0000
« prev ^ index » next coverage.py v6.5.0, created at 2023-12-13 15:12 +0000
1import unittest
3from zserio.bitfield import (bitfield_lowerbound, bitfield_upperbound,
4 signed_bitfield_lowerbound, signed_bitfield_upperbound)
5from zserio.exception import PythonRuntimeException
7class BitFieldTest(unittest.TestCase):
9 def test_bitfield_lowerbound(self):
10 with self.assertRaises(PythonRuntimeException):
11 bitfield_lowerbound(0)
12 with self.assertRaises(PythonRuntimeException):
13 bitfield_lowerbound(65)
15 self.assertEqual(0, bitfield_lowerbound(1))
16 self.assertEqual(0, bitfield_lowerbound(2))
17 self.assertEqual(0, bitfield_lowerbound(8))
18 self.assertEqual(0, bitfield_lowerbound(16))
19 self.assertEqual(0, bitfield_lowerbound(32))
20 self.assertEqual(0, bitfield_lowerbound(64))
22 def test_bitfield_upperbound(self):
23 with self.assertRaises(PythonRuntimeException):
24 bitfield_upperbound(0)
25 with self.assertRaises(PythonRuntimeException):
26 bitfield_upperbound(65)
28 self.assertEqual(1, bitfield_upperbound(1))
29 self.assertEqual(3, bitfield_upperbound(2))
30 self.assertEqual(255, bitfield_upperbound(8))
31 self.assertEqual(65535, bitfield_upperbound(16))
32 self.assertEqual(4294967295, bitfield_upperbound(32))
33 self.assertEqual(0xFFFFFFFFFFFFFFFF, bitfield_upperbound(64))
35 def test_signed_bitfield_lowerbound(self):
36 with self.assertRaises(PythonRuntimeException):
37 signed_bitfield_lowerbound(0)
38 with self.assertRaises(PythonRuntimeException):
39 signed_bitfield_lowerbound(65)
41 self.assertEqual(-1, signed_bitfield_lowerbound(1))
42 self.assertEqual(-2, signed_bitfield_lowerbound(2))
43 self.assertEqual(-128, signed_bitfield_lowerbound(8))
44 self.assertEqual(-32768, signed_bitfield_lowerbound(16))
45 self.assertEqual(-2147483648, signed_bitfield_lowerbound(32))
46 self.assertEqual(-9223372036854775808, signed_bitfield_lowerbound(64))
48 def test_signed_bitfield_upperbound(self):
49 with self.assertRaises(PythonRuntimeException):
50 signed_bitfield_upperbound(0)
51 with self.assertRaises(PythonRuntimeException):
52 signed_bitfield_upperbound(65)
54 self.assertEqual(0, signed_bitfield_upperbound(1))
55 self.assertEqual(1, signed_bitfield_upperbound(2))
56 self.assertEqual(127, signed_bitfield_upperbound(8))
57 self.assertEqual(32767, signed_bitfield_upperbound(16))
58 self.assertEqual(2147483647, signed_bitfield_upperbound(32))
59 self.assertEqual(9223372036854775807, signed_bitfield_upperbound(64))