github.com/hamba/avro/v2@v2.22.1-0.20240518180522-aff3955acf7d/internal/bytesx/reset_test.go (about) 1 package bytesx_test 2 3 import ( 4 "io" 5 "testing" 6 7 "github.com/hamba/avro/v2/internal/bytesx" 8 "github.com/stretchr/testify/assert" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestNewResetReader(t *testing.T) { 13 r := bytesx.NewResetReader([]byte{}) 14 15 assert.IsType(t, &bytesx.ResetReader{}, r) 16 assert.Implements(t, (*io.Reader)(nil), r) 17 } 18 19 func TestResetReader_Read(t *testing.T) { 20 r := bytesx.NewResetReader([]byte("test")) 21 22 b := make([]byte, 4) 23 n, err := r.Read(b) 24 25 require.NoError(t, err) 26 assert.Equal(t, 4, n) 27 assert.Equal(t, []byte("test"), b) 28 } 29 30 func TestResetReader_ReadReturnsEOF(t *testing.T) { 31 r := bytesx.NewResetReader([]byte{}) 32 33 b := make([]byte, 4) 34 n, err := r.Read(b) 35 36 assert.Equal(t, io.EOF, err) 37 assert.Equal(t, 0, n) 38 }