def test_fixed_length_text_serialization_with_wrong_length(length, value): sedes = Text.fixed_length(length) with pytest.raises(SerializationError): sedes.serialize(value)
def test_unserializable_text_sedes_values(value): sedes = Text() with pytest.raises(SerializationError): sedes.serialize(value)
def test_fixed_length_text_serialization(length, value, expected): sedes = Text.fixed_length(length) assert sedes.serialize(value) == expected
def test_desirialization_of_text_encoding_failure(): sedes = Text() with pytest.raises(DeserializationError): sedes.deserialize(b'\xff')
def test_simple_text_serialization(value, expected): sedes = Text() assert sedes.serialize(value) == expected
def test_round_trip_text_encoding_and_decoding(value): sedes = Text() encoded = encode(value, sedes=sedes) actual = decode(encoded, sedes=sedes) assert actual == value
def test_allow_empty_bypasses_length_checks(): sedes = Text.fixed_length(1, allow_empty=True) assert sedes.serialize('') == b'' with pytest.raises(SerializationError): sedes.serialize(b'12')
def test_deserialization_text_sedes(serial, expected): sedes = Text() assert sedes.deserialize(serial) == expected
def test_min_max_length_text_serialization_wrong_length( min_length, max_length, value): sedes = Text(min_length=min_length, max_length=max_length) with pytest.raises(SerializationError): sedes.serialize(value)
def test_min_max_length_text_serialization(min_length, max_length, value, expected): sedes = Text(min_length=min_length, max_length=max_length) assert sedes.serialize(value) == expected