本文整理汇总了C#中MongoDB.Bson.IO.BsonStreamAdapter.ReadBytes方法的典型用法代码示例。如果您正苦于以下问题:C# BsonStreamAdapter.ReadBytes方法的具体用法?C# BsonStreamAdapter.ReadBytes怎么用?C# BsonStreamAdapter.ReadBytes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MongoDB.Bson.IO.BsonStreamAdapter
的用法示例。
在下文中一共展示了BsonStreamAdapter.ReadBytes方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadBytes_with_count_should_return_expected_result
public void ReadBytes_with_count_should_return_expected_result(
[Values(0, 1, 2, 16)]
int length)
{
var bytes = Enumerable.Range(0, length).Select(n => (byte)n).ToArray();
using (var memoryStream = new MemoryStream(bytes))
using (var stream = new BsonStreamAdapter(memoryStream))
{
var result = stream.ReadBytes(length);
result.Should().Equal(bytes);
stream.Position.Should().Be(length);
}
}
示例2: ReadBytes_with_count_should_throw_when_at_end_of_stream
public void ReadBytes_with_count_should_throw_when_at_end_of_stream()
{
using (var memoryStream = new MemoryStream())
using (var stream = new BsonStreamAdapter(memoryStream))
{
Action action = () => stream.ReadBytes(1);
action.ShouldThrow<EndOfStreamException>();
}
}
示例3: ReadBytes_with_buffer_should_throw_when_at_end_of_stream
public void ReadBytes_with_buffer_should_throw_when_at_end_of_stream(
[Values(0, 1, 2, 16)]
int length)
{
var bytes = Enumerable.Range(0, length).Select(n => (byte)n).ToArray();
using (var memoryStream = new MemoryStream(bytes))
using (var stream = new BsonStreamAdapter(memoryStream))
{
var buffer = new byte[length + 1];
Action action = () => stream.ReadBytes(buffer, 0, length + 1);
action.ShouldThrow<EndOfStreamException>();
}
}
示例4: ReadBytes_with_buffer_should_optimize_count_of_one
public void ReadBytes_with_buffer_should_optimize_count_of_one()
{
using (var baseStream = Substitute.For<Stream>())
using (var stream = new BsonStreamAdapter(baseStream))
{
baseStream.ReadByte().Returns(1);
var buffer = new byte[1];
stream.ReadBytes(buffer, 0, 1);
buffer.Should().Equal(new byte[] { 1 });
baseStream.Received(1).ReadByte();
}
}
示例5: ReadBytes_with_buffer_should_handle_partial_reads
public void ReadBytes_with_buffer_should_handle_partial_reads()
{
using (var baseStream = Substitute.For<BsonStream>())
using (var stream = new BsonStreamAdapter(baseStream))
{
var buffer = new byte[3];
baseStream.Read(Arg.Any<byte[]>(), 0, 3).Returns(x => { var b = (byte[])x[0]; b[0] = 1; return 1; });
baseStream.Read(Arg.Any<byte[]>(), 1, 2).Returns(x => { var b = (byte[])x[0]; b[1] = 2; b[2] = 3; return 2; });
stream.ReadBytes(buffer, 0, 3);
buffer.Should().Equal(new byte[] { 1, 2, 3 });
baseStream.Received(1).Read(buffer, 0, 3);
baseStream.Received(1).Read(buffer, 1, 2);
}
}
示例6: ReadBytes_with_buffer_should_optimize_count_of_one
public void ReadBytes_with_buffer_should_optimize_count_of_one()
{
var mockBaseStream = new Mock<BsonStream>();
mockBaseStream.Setup(s => s.ReadByte()).Returns(1);
using (var baseStream = mockBaseStream.Object)
using (var stream = new BsonStreamAdapter(baseStream))
{
var buffer = new byte[1];
stream.ReadBytes(buffer, 0, 1);
buffer.Should().Equal(new byte[] { 1 });
mockBaseStream.Verify(s => s.ReadByte(), Times.Once);
}
}
示例7: ReadBytes_with_buffer_should_handle_partial_reads
public void ReadBytes_with_buffer_should_handle_partial_reads()
{
var mockBaseStream = new Mock<BsonStream>();
var buffer = new byte[3];
mockBaseStream.Setup(s => s.Read(It.IsAny<byte[]>(), 0, 3)).Returns((byte[] b, int o, int c) => { b[0] = 1; return 1; });
mockBaseStream.Setup(s => s.Read(It.IsAny<byte[]>(), 1, 2)).Returns((byte[] b, int o, int c) => { b[1] = 2; b[2] = 3; return 2; });
using (var baseStream = mockBaseStream.Object)
using (var stream = new BsonStreamAdapter(baseStream))
{
stream.ReadBytes(buffer, 0, 3);
buffer.Should().Equal(new byte[] { 1, 2, 3 });
mockBaseStream.Verify(s => s.Read(buffer, 0, 3), Times.Once);
mockBaseStream.Verify(s => s.Read(buffer, 1, 2), Times.Once);
}
}