public async void ShouldWaitForAllRecordsToArrive() { var recordYielder = new TestRecordYielder(5, 10, _output); var recordYielderEnum = recordYielder.Records.GetEnumerator(); var stream = new Mock <IResultStream>(); stream.Setup(x => x.NextRecordAsync()).Returns(() => NextRecordFromEnum(recordYielderEnum)); stream.Setup(x => x.GetKeysAsync()).Returns(() => Task.FromResult(TestRecordYielder.Keys.ToArray())); int count = 0; var cursor = new StatementResultCursor(stream.Object); var t = Task.Factory.StartNew(async() => { // ReSharper disable once LoopCanBeConvertedToQuery while (await cursor.FetchAsync()) { count++; } count.Should().Be(10); }); while (count < 5) { Thread.Sleep(10); } recordYielder.AddNew(5); await t; }
public void ShouldWaitForAllRecordsToArrive() { var recordYielder = new TestRecordYielder(5, 10, _output); int count = 0; var cursor = new InternalResult( new ListBasedRecordCursor(TestRecordYielder.Keys, () => recordYielder.Records), new BlockingExecutor()); var t = Task.Factory.StartNew(() => { // ReSharper disable once LoopCanBeConvertedToQuery foreach (var item in cursor) { count++; } count.Should().Be(10); }); while (count < 5) { Thread.Sleep(10); } recordYielder.AddNew(5); t.Wait(); }
public void ShouldReturnRecords() { var recordYielder = new TestRecordYielder(5, 10, _output); var cursor = new StatementResult( TestRecordYielder.Keys, new FuncBasedRecordSet(() => recordYielder.RecordsWithAutoLoad)); var records = cursor.ToList(); records.Count.Should().Be(10); }
public void ShouldReturnRecordsImmediatelyWhenReady() { var recordYielder = new TestRecordYielder(5, 10, _output); var result = new StatementResult(TestRecordYielder.Keys, new FuncBasedRecordSet(() => recordYielder.Records)); var temp = result.Take(5); var records = temp.ToList(); records.Count.Should().Be(5); }
public void ShouldReturnRecords() { var recordYielder = new TestRecordYielder(5, 10, _output); var cursor = new InternalResult(new ListBasedRecordCursor(TestRecordYielder.Keys, () => recordYielder.RecordsWithAutoLoad), new BlockingExecutor()); var records = cursor.ToList(); records.Count.Should().Be(10); }
public void ShouldReturnRecordsImmediatelyWhenReady() { var recordYielder = new TestRecordYielder(5, 10, _output); var result = new InternalStatementResult(new ListBasedRecordCursor(TestRecordYielder.Keys, () => recordYielder.Records), new BlockingExecutor()); var temp = result.Take(5); var records = temp.ToList(); records.Count.Should().Be(5); }
public async void ShouldReturnRecords() { var recordYielder = new TestRecordYielder(5, 10, _output); var recordYielderEnum = recordYielder.RecordsWithAutoLoad.GetEnumerator(); var cursor = new StatementResultCursor(TestRecordYielder.Keys, () => NextRecordFromEnum(recordYielderEnum)); var records = new List <IRecord>(); while (await cursor.FetchAsync()) { records.Add(cursor.Current); } records.Count.Should().Be(10); }
public async void ShouldReturnRecordsImmediatelyWhenReady() { var recordYielder = new TestRecordYielder(5, 10, _output); var recordYielderEnum = recordYielder.Records.GetEnumerator(); var result = new StatementResultCursor(TestRecordYielder.Keys, () => NextRecordFromEnum(recordYielderEnum)); var records = new List <IRecord>(); var count = 5; while (count > 0 && await result.FetchAsync()) { records.Add(result.Current); count--; } records.Count.Should().Be(5); }
public async void ShouldReturnRecords() { var recordYielder = new TestRecordYielder(5, 10, _output); var recordYielderEnum = recordYielder.RecordsWithAutoLoad.GetEnumerator(); var stream = new Mock <IResultStream>(); stream.Setup(x => x.NextRecordAsync()).Returns(() => NextRecordFromEnum(recordYielderEnum)); stream.Setup(x => x.GetKeysAsync()).Returns(() => Task.FromResult(TestRecordYielder.Keys.ToArray())); var cursor = new StatementResultCursor(stream.Object); var records = new List <IRecord>(); while (await cursor.FetchAsync()) { records.Add(cursor.Current); } records.Count.Should().Be(10); }
public async void ShouldReturnRecordsImmediatelyWhenReady() { var recordYielder = new TestRecordYielder(5, 10, _output); var recordYielderEnum = recordYielder.Records.GetEnumerator(); var stream = new Mock <IResultStream>(); stream.Setup(x => x.NextRecordAsync()).Returns(() => NextRecordFromEnum(recordYielderEnum)); stream.Setup(x => x.GetKeysAsync()).Returns(() => Task.FromResult(TestRecordYielder.Keys.ToArray())); var result = new StatementResultCursor(stream.Object); var records = new List <IRecord>(); var count = 5; while (count > 0 && await result.FetchAsync()) { records.Add(result.Current); count--; } records.Count.Should().Be(5); }