public void Read_OneByteAtATime_ShouldReturnCorrectResult() { var stream = new MemoryStream(new byte[] { 0x01, 0x02, 0x03 }); var segment = new StreamSegment(stream, 3, false); Assert.Equal(0x01, segment.ReadByte()); Assert.Equal(0x02, segment.ReadByte()); Assert.Equal(0x03, segment.ReadByte()); }
/// <inheritdoc/> public byte ReadByte(long index) { IDataStreamHelpers.ReadByteArgsCheck(this, index); ChunkHint hint; lock (dataLock) { var hintIdx = locateChunk(index); hint = chunkHints[hintIdx]; } var seg = new StreamSegment(stream, hint.StreamStart); return(seg.ReadByte(index - hint.DataStart)); }