public async Task ConvertAsyncShouldReturnNullStreamWhenNotConverted() { // Arrange _engineMock.Setup(e => e.AddConvertWorkItem(It.IsAny <ConvertWorkItemBase>(), It.IsAny <CancellationToken>())) .Callback <ConvertWorkItemBase, CancellationToken>( ( i, _) => { i.TaskCompletionSource.SetResult(false); }); var document = new HtmlToImageDocument(); // Act var result = await _sut.ConvertAsync(document, _ => Stream.Null, CancellationToken.None); // Assert using (new AssertionScope()) { _engineMock.Verify( e => e.AddConvertWorkItem(It.IsAny <ConvertWorkItemBase>(), It.IsAny <CancellationToken>()), Times.Once); result.Should().BeFalse(); } }