def test_encode_should_raise_for_unsupported_types(): with pytest.raises(ValueError) as err: encode_value(5.4) assert 'Unable to encode' in str(err.value) assert repr(5.4) in str(err.value)
def test_encode_should_escape_characters(value, expected): assert encode_value(value) == expected
def test_encode_should_accept_bytes(): assert encode_value(b'abc') == b'abc'
def test_encode_should_handle_ints(): assert encode_value(5) == b'5'
def test_encode_should_handle_strings(value, expected): assert encode_value(value) == expected
def test_encoding_process_should_be_reversible(value): assert decode_value(encode_value(value)) == value