public async Task <ActionResult> Search(SearchViewModel searchViewModel)
        {
            var searchAlgorithm = SearchFactory.GetSearchAlgorithm(searchViewModel.Url);

            var searchResultViewModel = new SearchResultViewModel();

            try
            {
                var result = await searchAlgorithm.GetSearchResultPageNumbers(searchViewModel.Keywords);

                searchResultViewModel.SearchResults = result;
            }
            catch (ReadableException ex)
            {
                searchResultViewModel.SearchResults = $"Ooops: {ex.Message}";
            }

            return(View(searchResultViewModel));
        }
        public void SearchFactory_CreatesCorrectAlgorithm_GivenDifferentCasesOfAlgorithm(string url, Type expectedType)
        {
            var algorithm = SearchFactory.GetSearchAlgorithm(url);

            Assert.IsTrue(algorithm.GetType() == expectedType);
        }
        public void SearchFactory_CreatesExpectedType_GivenKnownAndUnknownUrls(string url, Type expectedType)
        {
            var algorithm = SearchFactory.GetSearchAlgorithm(url);

            Assert.IsTrue(algorithm.GetType() == expectedType);
        }