Skip to content

AnyOf[NoneField, SerializableField] does not serialize correctly #98

Closed
@alex-vayu

Description

@alex-vayu
from typedpy import SerializableField, ImmutableStructure, String, Deserializer, Serializer, NoneField, AnyOf
class TestSerializable(SerializableField):
    def serialize(self, value):
        return value.rstrip()
    def deserialize(self, value):
        return value + "  "
class Container1(ImmutableStructure):
    field1: String
    field2: AnyOf[NoneField, TestSerializable]
class Container2(ImmutableStructure):
    field1: String
    field2: TestSerializable
f = {"field1": "val1", "field2": "val2"}
f2d = Deserializer(Container2).deserialize(f)
f2s = Serializer(f2d).serialize()
assert f2s == f
f1d = Deserializer(Container1).deserialize(f)
f1s = Serializer(f1d).serialize()
assert f1s == f
Traceback (most recent call last):
  File "<input>", line 32, in <module>
AssertionError
print(f1s)
{'field2': 'val2  ', 'field1': 'val1'}
print(f2s)
{'field2': 'val2', 'field1': 'val1'}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions