示例#1
0
 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 });
     }
 }
示例#2
0
 public void EmptyBufferCanReadNoBytes()
 {
     using (StreamBuffer buffer = new StreamBuffer(0))
     {
         buffer.Read(new byte[0], 0, 1).Should().Be(0);
     }
 }
示例#3
0
 public void EmptyBufferThrowsOnNegativeCountRead()
 {
     using (StreamBuffer buffer = new StreamBuffer(0))
     {
         Action action = () => buffer.Read(new byte[0], 0, -1);
         action.ShouldThrow<ArgumentOutOfRangeException>();
     }
 }
示例#4
0
 public void EmptyBufferThrowsOnPositiveOffsetRead()
 {
     using (StreamBuffer buffer = new StreamBuffer(0))
     {
         Action action = () => buffer.Read(new byte[0], 1, 0);
         action.ShouldThrow<ArgumentException>();
     }
 }
示例#5
0
 public void EmptyBufferThrowsOnNullBufferRead()
 {
     using (StreamBuffer buffer = new StreamBuffer(0))
     {
         Action action = () => buffer.Read(null, 0, 0);
         action.ShouldThrow<ArgumentNullException>();
     }
 }