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 PositionTest() { using (StreamBuffer buffer = new StreamBuffer(0)) { byte[] data = new byte[] { 0xA, 0xB, 0xC }; buffer.Write(data, 0, data.Length); buffer.Position.Should().Be(data.Length); for (int i = 0; i < data.Length; i++) { buffer.Position = i; buffer.ReadByte().Should().Be(data[i]); } } }
public void WriteToEmptyBuffer() { using (StreamBuffer buffer = new StreamBuffer(0)) { buffer.Length.Should().Be(0); buffer.WriteByte(7); buffer.Length.Should().Be(1); buffer.Position = 0; buffer.ReadByte().Should().Be(7); } }