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  }