()
| 1109 | } |
| 1110 | |
| 1111 | func 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 | |
| 1148 | func testSkipIdCustom() { |
| 1149 | dataFile := getDataFile() |
no test coverage detected