Example #1
0
        public void BingSearchEngine_GetSearchResultsAsync_MultipleResults_HappyPath()
        {
            // arrange
            var searchTerm = "hello";

            var urlSelector          = "h2 > a";
            var titleSelector        = "h2 > a";
            var captionSelector      = "div.b_caption > p";
            var searchResultSelector = "li.b_algo";

            var htmlParserMock     = new AngleSharpHtmlParser();
            var queryStringEncoder = new QueryStringEncoder();

            var bingEngineSearchSelector = new BingSearchEngineSelector(urlSelector, titleSelector, captionSelector);

            var searchEngine = new SearchEngine(htmlParserMock,
                                                bingEngineSearchSelector,
                                                queryStringEncoder,
                                                "https://www.bing.com/search?q=",
                                                searchResultSelector);

            // act
            var results = searchEngine.GetSearchResults(searchTerm);

            // assert
            Assert.IsNotNull(results);
            Assert.IsTrue(results.Count() > 1);
            Assert.IsTrue(!String.IsNullOrEmpty(results.First().Url));
            Assert.IsTrue(!String.IsNullOrEmpty(results.First().Title));
        }
Example #2
0
        public void YahooSearchEngine_GetSearchResultsAsync_MultipleResults_HappyPath()
        {
            // arrange
            var searchTerm = "hello";

            var urlSelector          = "div.compTitle > h3.title > a";
            var titleSelector        = "div.compTitle > h3.title > a";
            var captionSelector      = "div.compText > p";
            var searchResultSelector = "div.dd.algo";

            var htmlParser         = new AngleSharpHtmlParser();
            var queryStringEncoder = new QueryStringEncoder();

            var yahooEngineSearchSelector = new YahooSearchEngineSelector(urlSelector, titleSelector, captionSelector);

            var searchEngine = new SearchEngine(htmlParser,
                                                yahooEngineSearchSelector,
                                                queryStringEncoder,
                                                "https://uk.search.yahoo.com/search?p=",
                                                searchResultSelector);

            // act
            var results = searchEngine.GetSearchResults(searchTerm);

            // assert
            Assert.IsNotNull(results);
            Assert.IsTrue(results.Count() > 1);
            Assert.IsTrue(!String.IsNullOrEmpty(results.First().Url));
            Assert.IsTrue(!String.IsNullOrEmpty(results.First().Title));
        }