public void BeginWrite_should_throw_when_subject_is_disposed() { var stream = Substitute.For<Stream>(); var subject = new BsonStreamAdapter(stream); var buffer = new byte[0]; var offset = 1; var count = 2; var callback = Substitute.For<AsyncCallback>(); var state = new object(); subject.Dispose(); Action action = () => subject.BeginWrite(buffer, offset, count, callback, state); action.ShouldThrow<ObjectDisposedException>().And.ObjectName.Should().Be("BsonStreamAdapter"); }
public void BeginWrite_should_call_wrapped_stream() { var stream = Substitute.For<Stream>(); var subject = new BsonStreamAdapter(stream); var buffer = new byte[0]; var offset = 1; var count = 2; var callback = Substitute.For<AsyncCallback>(); var state = new object(); var asyncResult = Substitute.For<IAsyncResult>(); stream.BeginWrite(buffer, offset, count, callback, state).Returns(asyncResult); var result = subject.BeginWrite(buffer, offset, count, callback, state); result.Should().Be(asyncResult); stream.Received(1).BeginWrite(buffer, offset, count, callback, state); }
public void BeginWrite_should_call_wrapped_stream() { var mockStream = new Mock<Stream>(); var subject = new BsonStreamAdapter(mockStream.Object); var buffer = new byte[0]; var offset = 1; var count = 2; var mockCallback = new Mock<AsyncCallback>(); var state = new object(); var mockAsyncResult = new Mock<IAsyncResult>(); mockStream.Setup(s => s.BeginWrite(buffer, offset, count, mockCallback.Object, state)).Returns(mockAsyncResult.Object); var result = subject.BeginWrite(buffer, offset, count, mockCallback.Object, state); result.Should().BeSameAs(mockAsyncResult.Object); mockStream.Verify(s => s.BeginWrite(buffer, offset, count, mockCallback.Object, state), Times.Once); }