예제 #1
0
        public void InheritTest()
        {
            var client      = new HttpClient();
            var bingService = new BingSearchService(client);

            Assert.IsTrue(bingService is StatisticSearchService);
        }
예제 #2
0
        public async Task BingSearchTest()
        {
            var client      = new HttpClient();
            var bingService = new BingSearchService(client);
            var result      = await bingService.Search("5", "5");

            Assert.IsTrue(result.Results.Contains("1, 2"));
        }
예제 #3
0
        static void Main(string[] args)
        {
            GoogleSearchService GoogleSearchService = new GoogleSearchService();

            BingSearchService BingSearchService = new BingSearchService();

            List <SearchResult> SearchResultList = new List <SearchResult>();

            Console.Write("What would you like to search for? Write it here: " + Environment.NewLine + Environment.NewLine);

            string SearchQuery = Console.ReadLine();

            var words = Regex.Matches(SearchQuery, @"[\""].+?[\""]|[^ ]+")
                        .Cast <Match>()
                        .Select(m => m.Value)
                        .ToList();

            foreach (string word in words)
            {
                List <SearchResult> TempSearchResultList = new List <SearchResult>();

                TempSearchResultList.Add(GoogleSearchService.GetSearchResult(word));

                TempSearchResultList.Add(BingSearchService.GetSearchResult(word));

                SearchResultList.AddRange(TempSearchResultList);

                PrintResult(TempSearchResultList);
            }

            string GoogleWinner = GetWinner(SearchResultList, Base.Constants.GOOGLE);

            string BingWinner = GetWinner(SearchResultList, Base.Constants.BING);

            long   MaxValue    = 0;
            string TotalWinner = "";

            foreach (var word in words)
            {
                long TempMaxValue = SearchResultList.Where(x => x.SearchQuery.Equals(word))
                                    .Select(y => y.TotalResultsCount).Sum();

                if (TempMaxValue > MaxValue)
                {
                    MaxValue    = TempMaxValue;
                    TotalWinner = word;
                }
            }

            Console.WriteLine($"Google Winner: {GoogleWinner}");

            Console.WriteLine($"Bing Winner: {BingWinner}");

            Console.WriteLine($"Total Winner: {TotalWinner}");

            Console.ReadKey();
        }
예제 #4
0
        public void TestingEmptySearchTerm()
        {
            BingSearchService bss = new BingSearchService(new Search()
            {
                SearchQuery = string.Empty
            });

            bss.ProcessingService();
        }
예제 #5
0
        public void ProcessingSearchReturnsResults()
        {
            BingSearchService bss = new BingSearchService(new Search()
            {
                SearchQuery = searchQuery
            });

            bss.ProcessingService();

            Assert.IsTrue(bss.TotalResults > 0);
        }
예제 #6
0
        public BingSearchServiceTests()
        {
            //Arrange
            var codeBaseUrl  = new Uri(Assembly.GetExecutingAssembly().CodeBase);
            var codeBasePath = Uri.UnescapeDataString(codeBaseUrl.AbsolutePath);
            var dirPath      = Path.GetDirectoryName(codeBasePath);
            var path         = Path.Combine(dirPath, @"Search\ExampleData\BingSearchExampleResponse.html");

            BingSearchResponse = System.IO.File.ReadAllText(path);

            Mock <IHttpClientFactory> mockFactory = GenerateMockedHTTPMessageHandler(BingSearchResponse);

            subject = new BingSearchService(mockFactory.Object);
            //_bingSearchService = bingSearchService;
        }
예제 #7
0
        //// Override to also include the knowledgebase question with the answer on confident matches
        protected override async Task RespondFromQnAMakerResultAsync(IDialogContext context, IMessageActivity message, QnAMakerResults qnaMakerResults)
        {
            string language = "en-us";

            if (qnaMakerResults.Answers.Count > 0 && qnaMakerResults.Answers.FirstOrDefault().Score >= 0.5)
            {
                await PostReplyToUser(context, qnaMakerResults);
            }
            else
            {
                var userFeedbackMessage = string.Format("I know nothing about {0}. Let me goog... err, bing it.", message.Text);

                // Post the No answer found message to the user
                await context.SayAsync(userFeedbackMessage, userFeedbackMessage);

                // Show generic Help (Bing Search)
                await BingSearchService.DisplaySearchResults(((Activity)context.Activity).Text, language, context);
            }
        }