(t *testing.T)
| 637 | } |
| 638 | |
| 639 | func TestReadArray_ErrorOnTooFewElements(t *testing.T) { |
| 640 | // Array header says 2, but only 1 element provided. |
| 641 | var buf bytes.Buffer |
| 642 | w := NewWriter(&buf) |
| 643 | if err := w.WriteArrayHeader(2); err != nil { |
| 644 | t.Fatalf("WriteArrayHeader: %v", err) |
| 645 | } |
| 646 | if err := w.WriteInt(7); err != nil { |
| 647 | t.Fatalf("WriteInt: %v", err) |
| 648 | } |
| 649 | if err := w.Flush(); err != nil { |
| 650 | t.Fatalf("Flush: %v", err) |
| 651 | } |
| 652 | |
| 653 | r := NewReader(&buf) |
| 654 | var got []int |
| 655 | var firstErr error |
| 656 | ReadArray(r, r.ReadInt)(func(v int, err error) bool { |
| 657 | if err != nil { |
| 658 | firstErr = err |
| 659 | return false |
| 660 | } |
| 661 | got = append(got, v) |
| 662 | return true |
| 663 | }) |
| 664 | if firstErr == nil { |
| 665 | t.Fatalf("expected error due to missing second element, got nil") |
| 666 | } |
| 667 | if len(got) != 1 || got[0] != 7 { |
| 668 | t.Fatalf("unexpected values read before error: %v", got) |
| 669 | } |
| 670 | } |
| 671 | |
| 672 | // approxEqual checks approximate equality for float32/float64 |
| 673 | func approxEqual[T ~float32 | ~float64](a, b T) bool { |
nothing calls this directly
no test coverage detected
searching dependent graphs…