public void SearchAsyncTest_empty_string() { var str = ""; var engine = new GoogleEngine(); var res = engine.SearchAsync(str); Assert.IsInstanceOfType(res, typeof(System.Threading.Tasks.Task <Models.SearchResult>)); }
public void SearchAsyncTest_simple_string() { var str = "test"; var engine = new GoogleEngine(); var res = engine.SearchAsync(str); Assert.IsInstanceOfType(res, typeof(System.Threading.Tasks.Task <Models.SearchResult>)); Assert.IsTrue(res.Result.results.Count > 0); }
public void TestingEmptySearchTerm() { GoogleEngine ge = new GoogleEngine() { searchQuery = string.Empty }; ge.ProcessingSearch(); }
public void ProcessingService() { iEngine searchEngine = new GoogleEngine() { searchQuery = _search.SearchQuery }; _totalResults = searchEngine.ProcessingSearch(); }
public void ProcessingSearchReturnsResults() { GoogleEngine ge = new GoogleEngine() { searchQuery = searchQuery }; var totalResults = ge.ProcessingSearch(); Assert.IsTrue(totalResults > 0); }
static IEngine[] Engines() { var googleApiUrl = ConfigurationManager.AppSettings["GoogleApiUrl"]; var googleApiKey = ConfigurationManager.AppSettings["GoogleApiKey"]; var googleApiContext = ConfigurationManager.AppSettings["GoogleApiContext"]; var googleEngine = new GoogleEngine(googleApiUrl, googleApiKey, googleApiContext); var bingApiUrl = ConfigurationManager.AppSettings["BingApiUrl"]; var bingApiKey = ConfigurationManager.AppSettings["BingApiKey"]; //todo validate keys var bingEngine = new BingEngine(bingApiUrl, bingApiKey); return(new IEngine[] { googleEngine, bingEngine }); }
public Searching(List <string> ListaElms) { ListEngines = new List <SearchEngine>(); SearchEngine GE = new GoogleEngine("Google"); // using Polymorphism ListEngines.Add(GE); SearchEngine YE = new YahooEngine("Yahoo"); // using Polymorphism ListEngines.Add(YE); ListSearchs = new List <Search>(); ListProgLangs = LisStringToLisProgLang(ListaElms); SearchOk = bSearchNumElmsOk(); if (SearchOk) { try { //BuildSearchs foreach (ProgLang oPr in ListProgLangs) { Search oSearch = new Search(GE, oPr, 0); oSearch.NumResults = GE.GetResults(oPr.NomLang); ListSearchs.Add(oSearch); } foreach (ProgLang oPr in ListProgLangs) { Search oSearch = new Search(YE, oPr, 0); oSearch.NumResults = YE.GetResults(oPr.NomLang); ListSearchs.Add(oSearch); } // Doing calculations Calc(); // Showing results Message = ShowAllResults(); } catch { SearchOk = false; Message = "Error in performing search in Search Engine"; } } else { Message = "In order to perform a comparison, must be at least 2 items to be compared"; } }
public async Task <IActionResult> IndexAsync(string TextRequest) { //create instances of engines var google = new GoogleEngine(); var yandex = new YandexEngine(); var bing = new BingEngine(); //create a list of instances to execute them at the same time var allTasks = new List <Task <SearchResult> > { bing.SearchAsync(TextRequest), google.SearchAsync(TextRequest), yandex.SearchAsync(TextRequest) }; //when the first task was completed Task <SearchResult> finished = await Task.WhenAny(allTasks); allTasks.Clear(); SearchResult res = await finished; var limitedList = res.results.Take(10).ToList(); //save top 10 results foreach (var r in limitedList) { try { await _context.searchResultItems.AddAsync(r); await _context.SaveChangesAsync(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } SearchResultsViewModel resultsViewModel = new SearchResultsViewModel { resultItems = limitedList, fullText = (limitedList.Count == 0)? "Nothing found" : null }; return(View(resultsViewModel)); }