public void Constructor_doesnt_run_initializer() { var initialized = false; var _ = new LazyEnumerator <object>( () => { initialized = true; return(null); }); Assert.False(initialized); }
public void Reset_doesnt_run_initializer() { var initialized = false; var enumerator = new LazyEnumerator <object>( () => { initialized = true; return(new Mock <ObjectResult <object> >().Object); }); enumerator.Reset(); Assert.False(initialized); }
public void MoveNext_runs_initializer() { var mockShaper = Core.Objects.MockHelper.CreateShaperMock <int>(); mockShaper.Setup(m => m.GetEnumerator()).Returns( () => new DbEnumeratorShim <int>(Enumerable.Range(1, 1).GetEnumerator())); var mockObjectResult = new Mock <ObjectResult <int> >(mockShaper.Object, null, null) { CallBase = true }; var initialized = false; var enumerator = new LazyEnumerator <int>( () => { initialized = true; return(mockObjectResult.Object); }); Assert.True(enumerator.MoveNext()); Assert.True(initialized); Assert.Equal(1, enumerator.Current); }