TestAsyncBufferRead tests reading from AsyncBuffer using ReadAt method
(t *testing.T)
| 184 | |
| 185 | // TestAsyncBufferRead tests reading from AsyncBuffer using ReadAt method |
| 186 | func TestAsyncBufferReadAtSmallBuffer(t *testing.T) { |
| 187 | source, bytesReader := generateSourceData(t, 20) |
| 188 | ab := asyncbuffer.New(bytesReader, -1) |
| 189 | defer ab.Close() |
| 190 | |
| 191 | // First, let's read all the data |
| 192 | target := make([]byte, len(source)) |
| 193 | |
| 194 | n, err := ab.ReadAt(target, 0) |
| 195 | require.NoError(t, err) |
| 196 | assert.Equal(t, len(source), n) |
| 197 | assert.Equal(t, target, source) |
| 198 | |
| 199 | // Let's read some data |
| 200 | target = make([]byte, 2) |
| 201 | n, err = ab.ReadAt(target, 1) |
| 202 | require.NoError(t, err) |
| 203 | assert.Equal(t, len(target), n) |
| 204 | assert.Equal(t, target, source[1:3]) |
| 205 | |
| 206 | // Let's read some data beyond the end of the stream |
| 207 | target = make([]byte, 2) |
| 208 | n, err = ab.ReadAt(target, 50) |
| 209 | require.Error(t, err) |
| 210 | assert.Equal(t, err, io.EOF) |
| 211 | assert.Equal(t, 0, n) |
| 212 | } |
| 213 | |
| 214 | func TestAsyncBufferReader(t *testing.T) { |
| 215 | source, bytesReader := generateSourceData(t, asyncbuffer.ChunkSize*4+halfChunkSize) |
nothing calls this directly
no test coverage detected