Example #1
0
        public void Should_exclude_duplicate_urls()
        {
            var results = new List <ResultInfo>();

            results.AddRange(ResultInfoBuilder.GenerateUnique("random", 10));
            results.Add(results.Choice().UsingIndex(0));
            var sut       = new Uniqueness(null);
            var processed = sut.Process(results);

            processed.Should().NotBeEmpty()
            .And.HaveCount(results.Count() - 1);
        }
Example #2
0
        public void Matching_text_with_minimum_distance_of_zero_excludes_other_results()
        {
            var results  = ResultInfoBuilder.GenerateUnique("tests", 10);
            var expected = results.Choice();

            var sut = new FuzzyMatch(new FuzzyMatchSettings {
                Text = expected.Description
            });
            var processed = sut.Process(results);

            processed.Should().NotBeEmpty()
            .And.ContainSingle()
            .And.ContainEquivalentOf(expected);
        }
Example #3
0
    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));
            }
        }
    }
Example #4
0
        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)
                );
        }