Exemple #1
0
        public void CountExternalLink()
        {
            // Arrange
            string url = "http://www.bbc.com/news/";

            _wordCounter = new WordCounter(url, true);

            // Act
            int totalLink = _wordCounter.GetExternalLinksNumber();

            //_wordCounter.GetKeywordsDictionary();

            // Assert
            Assert.Greater(totalLink, 0);
        }
Exemple #2
0
        public IActionResult Index(WordCounterMV wordCounterMV, string sortOrder)
        {
            ViewData["WordSortParam"]  = string.IsNullOrEmpty(sortOrder) ? "word_desc" : "";
            ViewData["CountSortParam"] = sortOrder == "count_asc" ? "count_desc" : "count_asc";
            ViewData["Url"]            = wordCounterMV.Url == null ? "" : wordCounterMV.Url;
            _wordCounterMV             = wordCounterMV;

            if (!string.IsNullOrEmpty(_wordCounterMV.Url))
            {
                WordCounter wc = new WordCounter(_wordCounterMV.Url, _wordCounterMV.IsUrl, _wordCounterMV.StopWords);

                if (wordCounterMV.CheckWords)
                {
                    _wordCounterMV.Words = wc.GetWordsList();

                    if (_wordCounterMV.Words != null)
                    {
                        switch (sortOrder)
                        {
                        case "word_desc":
                            _wordCounterMV.Words = _wordCounterMV.Words.OrderByDescending(item => item.Value).ToList();
                            break;

                        case "count_asc":
                            _wordCounterMV.Words = _wordCounterMV.Words.OrderBy(item => item.Count).ToList();
                            break;

                        case "count_desc":
                            _wordCounterMV.Words = _wordCounterMV.Words.OrderByDescending(item => item.Count).ToList();
                            break;

                        default:
                            _wordCounterMV.Words = _wordCounterMV.Words.OrderBy(item => item.Value).ToList();
                            break;
                        }
                    }
                }

                if (wordCounterMV.CheckMetaTags)
                {
                    _wordCounterMV.MetaTags = wc.GetKeywordsList();

                    if (_wordCounterMV.MetaTags != null)
                    {
                        switch (sortOrder)
                        {
                        case "word_desc":
                            _wordCounterMV.MetaTags = _wordCounterMV.MetaTags.OrderByDescending(item => item.Value).ToList();
                            break;

                        case "count_asc":
                            _wordCounterMV.MetaTags = _wordCounterMV.MetaTags.OrderBy(item => item.Count).ToList();
                            break;

                        case "count_desc":
                            _wordCounterMV.MetaTags = _wordCounterMV.MetaTags.OrderByDescending(item => item.Count).ToList();
                            break;

                        default:
                            _wordCounterMV.MetaTags = _wordCounterMV.MetaTags.OrderBy(item => item.Value).ToList();
                            break;
                        }
                    }
                }

                if (_wordCounterMV.CheckExternalLink)
                {
                    _wordCounterMV.TotalExternalLink = wc.GetExternalLinksNumber();
                }
            }

            return(View(_wordCounterMV));
        }