Exemple #1
0
        public void CalculateTotalWinner_ShouldReturnDotNetAsWinner()
        {
            //Arrange
            IWebRequest    webRequest     = new WebRequestImplementation();
            SearchExecutor searchExecutor = new SearchExecutor(webRequest);
            Report         googleReport1  = new Report()
            {
                SearchEngine = SearchEngineEnum.Google.ToString(), Keyword = ".net", Quantity = 999
            };
            Report googleReport2 = new Report()
            {
                SearchEngine = SearchEngineEnum.Google.ToString(), Keyword = ".java", Quantity = 758
            };

            Report bingReport1 = new Report()
            {
                SearchEngine = SearchEngineEnum.Bing.ToString(), Keyword = ".net", Quantity = 120
            };
            Report bingReport2 = new Report()
            {
                SearchEngine = SearchEngineEnum.Bing.ToString(), Keyword = ".java", Quantity = 95
            };

            //Act
            searchExecutor.reports.Add(googleReport1);
            searchExecutor.reports.Add(googleReport2);
            searchExecutor.reports.Add(bingReport1);
            searchExecutor.reports.Add(bingReport2);
            var result = searchExecutor.CalculateTotalWinner();

            //Assert
            result.Should().Be("Total winner: .net");
        }
Exemple #2
0
        public void HasKeywords_ShouldReturnFalse()
        {
            //Arrange
            IWebRequest    webRequest     = new WebRequestImplementation();
            SearchExecutor searchExecutor = new SearchExecutor(webRequest);

            //Act
            var result = searchExecutor.HasKeywords();

            //Assert
            result.Should().BeFalse();
        }
Exemple #3
0
 static void Main(string[] args)
 {
     try
     {
         IWebRequest    webRequest     = new WebRequestImplementation();
         SearchExecutor searchExecutor = new SearchExecutor(webRequest, args);
         searchExecutor.PrintSearchResults();
     }
     catch (System.Exception ex)
     {
         Console.WriteLine("An unexpected error occured. Please try your request again later or check the following message for more details:\n" + ex.Message);
     }
 }
Exemple #4
0
        public void GetSearchResults_ShouldNotReturnResultsFromAnySearchEngine()
        {
            //Arrange
            IWebRequest webRequest = new WebRequestImplementation();

            string[]       keywords       = new string[0];
            SearchExecutor searchExecutor = new SearchExecutor(webRequest, keywords);
            var            emptyList      = new List <string>();

            //Act
            var result = searchExecutor.ExecuteSearch();

            //Assert
            result.Should().Equal(emptyList);
        }
Exemple #5
0
        public void HasKeywords_ShouldReturnTrue()
        {
            //Arrange
            IWebRequest webRequest = new WebRequestImplementation();

            string[] keywords = new string[2] {
                ".net", "java"
            };
            SearchExecutor searchExecutor = new SearchExecutor(webRequest, keywords);

            //Act
            var result = searchExecutor.HasKeywords();

            //Assert
            result.Should().BeTrue();
        }
Exemple #6
0
        public void CalculateWinnerPerSearchEngine_ShouldReturnDotNetAsWinnerForYahoo()
        {
            //Arrange
            IWebRequest    webRequest     = new WebRequestImplementation();
            SearchExecutor searchExecutor = new SearchExecutor(webRequest);
            Report         yahooReport1   = new Report()
            {
                SearchEngine = SearchEngineEnum.Yahoo.ToString(), Keyword = ".net", Quantity = 65
            };
            Report yahooReport2 = new Report()
            {
                SearchEngine = SearchEngineEnum.Yahoo.ToString(), Keyword = "java", Quantity = 50
            };

            //Act
            searchExecutor.reports.Add(yahooReport1);
            searchExecutor.reports.Add(yahooReport2);
            var result = searchExecutor.CalculateWinnerPerSearchEngine(SearchEngineEnum.Yahoo);

            //Assert
            result.Should().Be("Yahoo winner: .net");
        }