MCPcopy Create free account
hub / github.com/apache/fory / test_consistent_named

Function test_consistent_named

python/pyfory/tests/xlang_test_main.py:607–639  ·  view source on GitHub ↗

Test consistent mode with named types.

()

Source from the content-addressed store, hash-verified

605
606
607def test_consistent_named():
608 """Test consistent mode with named types."""
609 data_file = get_data_file()
610 with open(data_file, "rb") as f:
611 data_bytes = f.read()
612 buffer = pyfory.Buffer(data_bytes)
613
614 fory = pyfory.Fory(xlang=True, compatible=False)
615 fory.register_type(Color, name="color")
616 fory.register_type(MyStruct, name="my_struct")
617 fory.register_type(MyExt, name="my_ext", serializer=MyExtSerializer(fory.type_resolver, MyExt))
618
619 color = Color.White
620 my_struct = MyStruct(id=42)
621 my_ext = MyExt(id=43)
622
623 for _ in range(3):
624 assert fory.deserialize(buffer) == color
625 for _ in range(3):
626 assert fory.deserialize(buffer) == my_struct
627 for _ in range(3):
628 assert fory.deserialize(buffer) == my_ext
629
630 new_buffer = pyfory.Buffer.allocate(256)
631 for _ in range(3):
632 fory.serialize(color, buffer=new_buffer)
633 for _ in range(3):
634 fory.serialize(my_struct, buffer=new_buffer)
635 for _ in range(3):
636 fory.serialize(my_ext, buffer=new_buffer)
637
638 with open(data_file, "wb") as f:
639 f.write(new_buffer.get_bytes(0, new_buffer.get_writer_index()))
640
641
642def test_struct_version_check():

Callers

nothing calls this directly

Calls 13

register_typeMethod · 0.95
deserializeMethod · 0.95
serializeMethod · 0.95
get_bytesMethod · 0.80
get_data_fileFunction · 0.70
MyExtSerializerClass · 0.70
MyStructClass · 0.70
MyExtClass · 0.70
readMethod · 0.65
allocateMethod · 0.65
writeMethod · 0.65
BufferMethod · 0.45

Tested by

no test coverage detected