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)); }
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)); }