public MockDbSet() { _data = new ObservableCollection <TEntity>(); _query = _data.AsQueryable(); _queryProvier = new MockDbSetAsyncQueryProvider <TEntity>(_query.Provider); _asyncEnumerator = new MockDbSetAsyncEnumerator <TEntity>(_data.GetEnumerator()); }
public void Ctor_WhenEnumeratorPassedIn_MockAsyncEnumeratorCreated() { // Arrange var mockEnumerator = Substitute.For <IEnumerator <HeroEntity> >(); // Act var asyncEnumerator = new MockDbSetAsyncEnumerator <HeroEntity>(mockEnumerator); // Assert Assert.IsNotNull(asyncEnumerator); }
internal MockDbSetAsyncEnumerable(Expression expression) : base(expression) { if (expression == null) { throw new System.ArgumentNullException(nameof(expression)); } _asyncQueryProvider = new MockDbSetAsyncQueryProvider <TEntity>(this); _asynEnumerator = new MockDbSetAsyncEnumerator <TEntity>(this.AsEnumerable().GetEnumerator()); }
public async Task MoveNext_WhenEndOfEnumerator_ReturnsFalseIfMoved() { // Arrange var heroes = new List <HeroEntity> { }; var enumerator = new MockDbSetAsyncEnumerator <HeroEntity>(heroes.GetEnumerator()) as IAsyncEnumerator <HeroEntity>; // Act var result = await enumerator.MoveNext(CancellationToken.None); // Assert Assert.IsFalse(result); }
public void Dispose_WhenDisposablePatternUsed_InnerEnumeratorDisposeCalled() { // Arrange var mockIAsyncEnumerator = Substitute.For <IEnumerator <HeroEntity> >(); // Act using (var enumerator = new MockDbSetAsyncEnumerator <HeroEntity>(mockIAsyncEnumerator) as IAsyncEnumerator <HeroEntity>) { } // Assert mockIAsyncEnumerator.Received(1).Dispose(); }
public async Task Current_WhenCalled_ReturnsItem() { // Arrange var heroes = HeroBuilder.CreateAListOfHeros(); var enumerator = new MockDbSetAsyncEnumerator <HeroEntity>(heroes.GetEnumerator()) as IAsyncEnumerator <HeroEntity>; // Act while (await enumerator.MoveNext(CancellationToken.None)) { var current = enumerator.Current; // Assert Assert.IsTrue(heroes.Any(h => h == current)); } }
public async Task MoveNext_WhenItemInEnumerator_ReturnsTrueIfMoved() { // Arrange var heroes = new List <HeroEntity> { new HeroEntity { Id = 21, Name = "Nick Fury" } }; var enumerator = new MockDbSetAsyncEnumerator <HeroEntity>(heroes.GetEnumerator()) as IAsyncEnumerator <HeroEntity>; // Act var result = await enumerator.MoveNext(CancellationToken.None); // Assert Assert.IsTrue(result); }
public async Task MoveNext_WhenCalled_ReturnsFalseIfAtEnd() { // Arrange var heroes = HeroBuilder.CreateAListOfHeros(); var enumerator = new MockDbSetAsyncEnumerator <HeroEntity>(heroes.GetEnumerator()) as IAsyncEnumerator <HeroEntity>; var count = 0; // Act while (await enumerator.MoveNext(CancellationToken.None)) { count++; } // Assert Assert.AreEqual(heroes.Count(), count); }