public void AppendTwice() { using (StreamBuffer buffer = new StreamBuffer(0)) { buffer.Length.Should().Be(0); buffer.Write(new byte[] { 0xA, 0xB, 0xC }, 0, 3); buffer.Position.Should().Be(3); buffer.Length.Should().Be(3); buffer.Position = 0; byte[] output = new byte[3]; buffer.Read(output, 0, 3); buffer.Position.Should().Be(3); output.ShouldAllBeEquivalentTo(new byte[] { 0xA, 0xB, 0xC }); buffer.Write(new byte[] { 0xD, 0xE, 0xF }, 0, 3); buffer.Position.Should().Be(6); buffer.Length.Should().Be(6); buffer.Position = 0; output = new byte[6]; buffer.Read(output, 0, 6); output.ShouldAllBeEquivalentTo(new byte[] { 0xA, 0xB, 0xC, 0xD, 0xE, 0xF }); } }
public void EmptyBufferCanReadNoBytes() { using (StreamBuffer buffer = new StreamBuffer(0)) { buffer.Read(new byte[0], 0, 1).Should().Be(0); } }
public void EmptyBufferThrowsOnNegativeCountRead() { using (StreamBuffer buffer = new StreamBuffer(0)) { Action action = () => buffer.Read(new byte[0], 0, -1); action.ShouldThrow<ArgumentOutOfRangeException>(); } }
public void EmptyBufferThrowsOnPositiveOffsetRead() { using (StreamBuffer buffer = new StreamBuffer(0)) { Action action = () => buffer.Read(new byte[0], 1, 0); action.ShouldThrow<ArgumentException>(); } }
public void EmptyBufferThrowsOnNullBufferRead() { using (StreamBuffer buffer = new StreamBuffer(0)) { Action action = () => buffer.Read(null, 0, 0); action.ShouldThrow<ArgumentNullException>(); } }