public override Task <IEnumerable <ResultInfo> > SearchAsync(string query) { return(Task.FromResult(_())); IEnumerable <ResultInfo> _() { var originator = Guid.NewGuid().ToString(); var results = _settings.AtLeast.HasValue ? ResultInfoBuilder.GenerateRandom(originator, _settings.AtLeast ?? 1, _settings.Samples) : ResultInfoBuilder.Generate(originator, _settings.Samples); if (Runtime.MaximumResults.HasValue) { results = results.Take((int)Runtime.MaximumResults.Value); } for (ushort i = 0; i < results.Count(); i++) { var result = results.ElementAt(i); yield return(CreateResult(i, result.Url, result.Description)); } } }
public void Should_ordered_by_index() { var results = new List <ResultInfo>(); results.AddRange(ResultInfoBuilder.Generate("Choice1", 3)); results.AddRange(ResultInfoBuilder.Generate("Choice2", 5)); var sut = new Order(null); var processed = sut.Process(results); processed.Should().NotBeEmpty() .And.SatisfyRespectively( item => item.Index.Should().Be(0), item => item.Index.Should().Be(0), item => item.Index.Should().Be(1), item => item.Index.Should().Be(1), item => item.Index.Should().Be(2), item => item.Index.Should().Be(2), item => item.Index.Should().Be(3), item => item.Index.Should().Be(4) ); }