MCPcopy Create free account
hub / github.com/Restream/reindexer / TestCJSONEncoderTypicalDocumentStableWire

Function TestCJSONEncoderTypicalDocumentStableWire

cjson/encoder_bench_test.go:243–275  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

241}
242
243func TestCJSONEncoderTypicalDocumentStableWire(t *testing.T) {
244 state := NewState()
245 enc := state.NewEncoder()
246 doc := newBenchEncoderTypicalDoc()
247
248 ser1 := NewPoolSerializer()
249 if err := enc.EncodeRaw(doc, ser1); err != nil {
250 t.Fatalf("first encode: %v", err)
251 }
252 wire1 := append([]byte(nil), ser1.Bytes()...)
253 ser1.Close()
254
255 ser2 := NewPoolSerializer()
256 if err := enc.EncodeRaw(doc, ser2); err != nil {
257 t.Fatalf("second encode: %v", err)
258 }
259 wire2 := append([]byte(nil), ser2.Bytes()...)
260 ser2.Close()
261
262 if !bytes.Equal(wire1, wire2) {
263 t.Fatalf("EncodeRaw produced unstable wire bytes: len1=%d len2=%d", len(wire1), len(wire2))
264 }
265
266 dec := state.NewDecoder(benchEncoderTypicalDoc{}, nil)
267 defer dec.Finalize()
268 var decoded benchEncoderTypicalDoc
269 if err := dec.Decode(wire2, &decoded); err != nil {
270 t.Fatalf("decode encoded document: %v", err)
271 }
272 if !reflect.DeepEqual(doc, decoded) {
273 t.Fatalf("EncodeRaw/Decode mismatch:\nwant: %#v\n got: %#v", doc, decoded)
274 }
275}

Callers

nothing calls this directly

Calls 12

NewEncoderMethod · 0.95
EncodeRawMethod · 0.95
NewDecoderMethod · 0.95
FinalizeMethod · 0.95
DecodeMethod · 0.95
NewStateFunction · 0.85
NewPoolSerializerFunction · 0.85
appendFunction · 0.85
BytesMethod · 0.80
EqualMethod · 0.80
CloseMethod · 0.45

Tested by

no test coverage detected