protected virtual void UpdateBest(TestResult r) { if (BestResult == null || BestResult.CompareTo(r) == -1) { BestResult = r; BestIteration = Iteration; } }
public List <BestResult> GetBestResultsInResultSearch(List <ResultSearch> listResultSearch) { if (listResultSearch == null || listResultSearch.Count == 0) { throw new ArgumentException("There are not results in the search to get best results."); } var listBestResult = new List <BestResult>(); foreach (var searchEngine in ListSearchEngine) { var listResultBySearchEngine = listResultSearch.Where(p => p.SearchEngine == searchEngine.Name).ToList(); var maxValue = listResultBySearchEngine.Max(p => p.AmountResults); var bestResult = new BestResult() { SearchEngine = searchEngine.Name, PhraseSearch = listResultBySearchEngine.FirstOrDefault(p => p.AmountResults == maxValue).PhraseSearch }; listBestResult.Add(bestResult); } return(listBestResult); }