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

Function testStructWithMap

go/fory/tests/xlang/xlang_test_main.go:1111–1146  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1109}
1110
1111func testStructWithMap() {
1112 dataFile := getDataFile()
1113 data := readFile(dataFile)
1114
1115 f := fory.New(fory.WithXlang(true), fory.WithCompatible(true))
1116 // Use numeric ID 202 to match Java's fory.register(StructWithMap.class, 202)
1117 f.RegisterStruct(StructWithMap{}, 202)
1118
1119 // Java serializes two objects to the same buffer, so we need to deserialize twice
1120 readBuf := fory.NewByteBuffer(data)
1121
1122 var obj1 StructWithMap
1123 if err := f.DeserializeFrom(readBuf, &obj1); err != nil {
1124 panic(fmt.Sprintf("Failed to deserialize first object: %v", err))
1125 }
1126
1127 var obj2 StructWithMap
1128 if err := f.DeserializeFrom(readBuf, &obj2); err != nil {
1129 panic(fmt.Sprintf("Failed to deserialize second object: %v", err))
1130 }
1131
1132 // Java reads two objects from the same buffer, so we need to serialize twice
1133 writeBuf := fory.NewByteBuffer(nil)
1134
1135 err := f.SerializeTo(writeBuf, obj1)
1136 if err != nil {
1137 panic(fmt.Sprintf("Failed to serialize first object: %v", err))
1138 }
1139
1140 err = f.SerializeTo(writeBuf, obj2)
1141 if err != nil {
1142 panic(fmt.Sprintf("Failed to serialize second object: %v", err))
1143 }
1144
1145 writeFile(dataFile, writeBuf.Bytes())
1146}
1147
1148func testSkipIdCustom() {
1149 dataFile := getDataFile()

Callers 1

mainFunction · 0.85

Calls 7

BytesMethod · 0.95
getDataFileFunction · 0.85
readFileFunction · 0.85
writeFileFunction · 0.85
DeserializeFromMethod · 0.80
SerializeToMethod · 0.80
RegisterStructMethod · 0.45

Tested by

no test coverage detected