public static StatementResult CreateResult(int keySize, int recordSize = 1, Func<IResultSummary> getSummaryFunc = null) { var keys = RecordCreator.CreateKeys(keySize); var records = RecordCreator.CreateRecords(recordSize, keys); return new StatementResult(keys, new ListBasedRecordSet(records), getSummaryFunc); }
public static StatementResultCursor CreateResultReader(int keySize, int recordSize = 1, Func <Task <IResultSummary> > getSummaryFunc = null) { var keys = RecordCreator.CreateKeys(keySize); var records = RecordCreator.CreateRecords(recordSize, keys); var recordsEnum = records.GetEnumerator(); return(new StatementResultCursor(keys, () => NextRecordFromEnum(recordsEnum), getSummaryFunc)); }
public static InternalResult CreateResult(int keySize, int recordSize = 1, Func <IResultSummary> getSummaryFunc = null) { var keys = RecordCreator.CreateKeys(keySize); var records = RecordCreator.CreateRecords(recordSize, keys); return(new InternalResult(new ListBasedRecordCursor(keys, () => records, getSummaryFunc), new BlockingExecutor())); }
public static StatementResultCursor CreateResultReader(int keySize, int recordSize = 1, Func <Task <IResultSummary> > getSummaryFunc = null, CancellationTokenSource cancellationTokenSource = null) { var keys = RecordCreator.CreateKeys(keySize); var records = RecordCreator.CreateRecords(recordSize, keys); var recordsEnum = records.GetEnumerator(); return(new StatementResultCursor(() => Task.FromResult(keys.ToArray()), () => NextRecordFromEnum(recordsEnum), getSummaryFunc, cancellationTokenSource)); }
public static StatementResultCursor CreateResultCursor(int keySize, int recordSize = 1, Func <Task <IResultSummary> > getSummaryFunc = null, CancellationTokenSource cancellationTokenSource = null) { var keys = RecordCreator.CreateKeys(keySize); var records = RecordCreator.CreateRecords(recordSize, keys); var recordsEnum = records.GetEnumerator(); var stream = new Mock <IResultStream>(); stream.Setup(x => x.GetKeysAsync()).Returns(() => Task.FromResult(keys.ToArray())); stream.Setup(x => x.NextRecordAsync()).Returns(() => NextRecordFromEnum(recordsEnum)); stream.Setup(x => x.SummaryAsync()).Returns(getSummaryFunc); stream.Setup(x => x.Cancel()).Callback(() => cancellationTokenSource?.Cancel()); return(new StatementResultCursor(stream.Object)); }
public void ShouldReturnRecordsAddedLatter() { var keys = RecordCreator.CreateKeys(); var records = RecordCreator.CreateRecords(5, keys); var recordSet = new ListBasedRecordSet(records); // I add a new record after RecordSet is created var newRecord = new Record(keys, new object[] { "record5:key0" }); records.Add(newRecord); int i = 0; foreach (var record in recordSet.Records()) { record[0].ValueAs <string>().Should().Be($"record{i++}:key0"); } i.Should().Be(6); }
public async Task ShouldReturnRecordsAddedLatter() { var keys = RecordCreator.CreateKeys(); var records = RecordCreator.CreateRecords(5, keys); var cursor = new ListBasedRecordCursor(keys, () => records); // I add a new record after RecordSet is created var newRecord = new Record(keys, new object[] { "record5:key0" }); records.Add(newRecord); int i = 0; while (await cursor.FetchAsync()) { cursor.Current[0].As <string>().Should().Be($"record{i++}:key0"); } i.Should().Be(6); }