def test_bit_field_serialize(bitarray, bit_field): test_fn = mock.Mock() value = mock.Mock() mod.BitField._serializers['test'] = test_fn inst = mod.BitField(name='test', index=2, width=42, data_type='test') ret = inst.serialize(value) assert ret == bitarray.return_value.__getitem__.return_value test_fn.assert_called_once_with(value)
def test_bit_field_init_deferred(): args = (1, 2) kwargs = {'a': 3, 'b': 4} inst = mod.BitField(*args, **kwargs) assert isinstance(inst, mod.FieldWrapper) assert inst.cls is mod.BitField assert inst.args == args assert inst.kwargs == kwargs
def bit_field(): return mod.BitField(name='test', index=2, width=42, data_type='int')
def test_bit_field_serialize_unknown_type(): inst = mod.BitField(name='test', index=2, width=42, data_type='invalid') with pytest.raises(ValueError): inst.serialize(mock.Mock())
def test_bit_field_deserialize(bit_field): test_fn = mock.Mock() mod.BitField._deserializers['test'] = test_fn inst = mod.BitField(name='test', index=2, width=42, data_type='test') assert inst.deserialize(mock.Mock()) == test_fn.return_value