Beispiel #1
0
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)
Beispiel #2
0
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
Beispiel #3
0
def bit_field():
    return mod.BitField(name='test', index=2, width=42, data_type='int')
Beispiel #4
0
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())
Beispiel #5
0
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