MCPcopy
hub / github.com/tinylib/msgp / TestReadArray_Decodable

Function TestReadArray_Decodable

msgp/iter_test.go:483–522  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

481}
482
483func TestReadArray_Decodable(t *testing.T) {
484 var buf bytes.Buffer
485 w := NewWriter(&buf)
486
487 want := []testDec{
488 {A: 1, B: "x"},
489 {A: -5, B: "yz"},
490 }
491 if err := w.WriteArrayHeader(uint32(len(want))); err != nil {
492 t.Fatalf("WriteArrayHeader: %v", err)
493 }
494 for i := range want {
495 if err := (&want[i]).EncodeMsg(w); err != nil {
496 t.Fatalf("EncodeMsg: %v", err)
497 }
498 }
499 if err := w.Flush(); err != nil {
500 t.Fatalf("Flush: %v", err)
501 }
502
503 r := NewReader(&buf)
504 got, err := collectSeq2(ReadArray[testDec](r, func() (testDec, error) {
505 var t testDec
506 if err := t.DecodeMsg(r); err != nil {
507 return testDec{}, err
508 }
509 return t, nil
510 }))
511 if err != nil {
512 t.Fatalf("iteration error: %v", err)
513 }
514 if len(got) != len(want) {
515 t.Fatalf("length mismatch: got %d want %d", len(got), len(want))
516 }
517 for i := range want {
518 if got[i].A != want[i].A || got[i].B != want[i].B {
519 t.Fatalf("index %d: got %+v want %+v", i, got[i], want[i])
520 }
521 }
522}
523
524func TestReadArray_TimeAndDuration(t *testing.T) {
525 var buf bytes.Buffer

Callers

nothing calls this directly

Calls 7

WriteArrayHeaderMethod · 0.95
FlushMethod · 0.95
DecodeMsgMethod · 0.95
NewWriterFunction · 0.85
NewReaderFunction · 0.85
collectSeq2Function · 0.85
EncodeMsgMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…