sizable_zero_reader_test.go 659 B

123456789101112131415161718192021222324252627282930313233343536
  1. package main
  2. import (
  3. "io"
  4. "testing"
  5. )
  6. func TestSizableZeroReader(t *testing.T) {
  7. t.Log("Testng for SizableZeroReader...")
  8. TestingRead(t, 0)
  9. TestingRead(t, 1)
  10. TestingRead(t, 1024)
  11. TestingRead(t, 114514)
  12. TestingRead(t, 1919810)
  13. t.Log("Test SizableZeroReader OK.")
  14. }
  15. func TestingRead(t *testing.T, sz int) {
  16. rd := NewSizableZeroReader(sz)
  17. bin, err := io.ReadAll(rd)
  18. if err != nil {
  19. t.Errorf("failed test with size %d: %v", sz, err)
  20. return
  21. }
  22. l := len(bin)
  23. if l != sz {
  24. t.Errorf("length not match: realSize=%d, expectSize=%d", l, sz)
  25. return
  26. }
  27. for _, v := range bin {
  28. if v != 0 {
  29. t.Errorf("some value not zero")
  30. return
  31. }
  32. }
  33. }