public async void SingleArticleDownloadTest(int site, Language lang, int link) { _extendedRandom.NextLanguage().Returns(lang); _extendedRandom.NextEntry(Arg.Any <IReadOnlyList <string> >()) .Returns(ci => ((IReadOnlyList <string>)ci[0])[link]); _extendedRandom.NextEntry(Arg.Any <IReadOnlyList <INewsSite> >()) .Returns(ci => ((IReadOnlyList <INewsSite>)ci[0])[site]); var article = await _instance.GetNextArticleAsync(); article.Should().NotBeNull(); article.ActualLanguage.Should().Be(lang); article.Content.Should().NotBeNullOrWhiteSpace(); _output.WriteLine("language: {0}\n Content:\n{1}", article.ActualLanguage, article.Content); }
public async Task <Article> GetNextArticleAsync() { Language language = _extendedRandom.NextLanguage(); string mainSiteUrl = GetMainSiteUrlForLanguage(language); HtmlDocument mainSite = await _pageDownloadService.DownloadDocumentAsync(mainSiteUrl); List <string> articleUrls = _newsSiteParser.ParseMainSite(mainSite).ToList(); string articleUrl = _extendedRandom.NextEntry(articleUrls); string articleAbsoluteUrl = ToAbsoluteUrl(mainSiteUrl, articleUrl); HtmlDocument articleHtml = await _pageDownloadService.DownloadDocumentAsync(articleAbsoluteUrl); Article article = _newsSiteParser.ParseArticleSite(articleHtml); article.ActualLanguage = language; return(article); }
public Task <Article> GetNextArticleAsync() { return(_extendedRandom.NextEntry(_sites).GetNextArticleAsync()); }