class TestBitsField(unittest.TestCase): def setUp(self): self.bits_map = Bitsmap() def test_build_bytes(self): bytes_field = ByteStreamField('field',8,'12345678') self.assertEqual(bytes_field.pack(self.bits_map, 1),8*8+1) self.assertEqual(self.bits_map.get_bytes_as_stream(1, 8),'12345678') def test_parse_bits(self): bytes_field = ByteStreamField('field',8) self.assertEqual(bytes_field.parse(Bitsmap('1234\x00\xc0\x00\x00\xff\xff'),1),8*8+1) self.assertEqual(bytes_field._value,'1234\x00\xc0\x00\x00')
def test_build_MAC_addess(self): bits_map = Bitsmap() mac_field = MacField('mac','4c:0f:6e:5e:b7:a1') self.assertEqual(mac_field.pack(bits_map, 1),6*8 + 1) bits_map.get_bytes_as_stream(1, 6) self.assertEqual(bits_map.get_bytes_as_stream(1, 6),'\x4c\x0f\x6e\x5e\xb7\xa1')