public ICompletes <IEntry <string> > ReadOne() { // Simulate failed read of one entry IEntry <string> entry = null; var gapIds = _reader.DetectGaps(entry, _offset, 1); var gappedEntries = new GappedEntries <string>(new List <IEntry <string> >(), gapIds, CompletesEventually()); _reader.ReadGaps(gappedEntries, 3, TimeSpan.FromMilliseconds(10), ReadIds); _offset++; return((ICompletes <IEntry <string> >)Completes()); }
public ICompletes <List <IEntry <string> > > ReadNext(int count) { var entries = new List <IEntry <string> >(); for (var i = 0; i < count; i++) { // every 3rd entry is loaded successfully if (i % 3 == 0) { var entry = new TextEntry((_offset + i).ToString(), typeof(object), 1, $"Entry_{_offset}{i}"); entries.Add(entry); } } var gapIds = _reader.DetectGaps(entries, _offset, count); var gappedEntries = new GappedEntries <string>(entries, gapIds, CompletesEventually()); _offset += count; _reader.ReadGaps(gappedEntries, 3, TimeSpan.FromMilliseconds(10), ReadIds); return((ICompletes <List <IEntry <string> > >)Completes()); }