public void EmptyBufferThrowsOnSeek() { using (StreamBuffer buffer = new StreamBuffer(0)) { Action action = () => buffer.Seek(1, SeekOrigin.Begin); action.ShouldThrow<IOException>(); } }
public void SeekSucceeds() { using (StreamBuffer buffer = new StreamBuffer(0)) { buffer.Length.Should().Be(0); buffer.Write(new byte[] { 0xA, 0xB, 0xC }, 0, 3); buffer.Length.Should().Be(3); buffer.Seek(0, SeekOrigin.Begin); buffer.ReadByte().Should().Be(0xA); buffer.Seek(-1, SeekOrigin.Current); buffer.ReadByte().Should().Be(0xA); buffer.Seek(1, SeekOrigin.Current); buffer.ReadByte().Should().Be(0xC); buffer.Seek(1, SeekOrigin.Begin); buffer.ReadByte().Should().Be(0xB); buffer.Seek(-2, SeekOrigin.End); buffer.ReadByte().Should().Be(0xB); } }
public void EmptyBufferCanSeekNowhere() { using (StreamBuffer buffer = new StreamBuffer(0)) { buffer.Seek(0, SeekOrigin.Begin).Should().Be(0); } }