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(); }