public void GetEnumerator_should_throw_when_called_more_than_once() { var mockCursor = new Mock<IAsyncCursor<BsonDocument>>(); var subject = new AsyncCursorEnumerableOneTimeAdapter<BsonDocument>(mockCursor.Object, CancellationToken.None); subject.GetEnumerator(); Action action = () => subject.GetEnumerator(); action.ShouldThrow<InvalidOperationException>(); }
public void GetEnumerator_should_return_expected_result() { var mockCursor = new Mock<IAsyncCursor<BsonDocument>>(); mockCursor.SetupSequence(c => c.MoveNext(CancellationToken.None)).Returns(true).Returns(false); mockCursor.Setup(c => c.Current).Returns(new[] { new BsonDocument("_id", 0) }); var subject = new AsyncCursorEnumerableOneTimeAdapter<BsonDocument>(mockCursor.Object, CancellationToken.None); var result = subject.GetEnumerator(); result.MoveNext().Should().BeTrue(); result.Current.Should().Be(new BsonDocument("_id", 0)); result.MoveNext().Should().BeFalse(); }
public void GetEnumerator_should_return_expected_result() { var cursor = Substitute.For<IAsyncCursor<BsonDocument>>(); cursor.MoveNext().Returns(true, false); cursor.Current.Returns(new[] { new BsonDocument("_id", 0) }); var subject = new AsyncCursorEnumerableOneTimeAdapter<BsonDocument>(cursor, CancellationToken.None); var result = subject.GetEnumerator(); result.MoveNext().Should().BeTrue(); result.Current.Should().Be(new BsonDocument("_id", 0)); result.MoveNext().Should().BeFalse(); }