public async Task Test_AngleSharpParser_OnSomeInputString() { var parser = new AngleSharpParser(); var texts = (await parser.ParseAsync($"<a>Hello world</a>")).ToList(); Assert.AreEqual(1, texts.Count); Assert.AreEqual("Hello world", texts[0]); }
public async Task Test_AngleSharpParser_OnFullReadFile_And_Count_ResultTexts() { var fileName = Path.Combine(TestContext.CurrentContext.GetTestProjectPath(), @"SampleFiles\Создаем программное обеспечение для бизнеса - SimbirSoft.html"); var fileContent = await File.ReadAllTextAsync(fileName); var configuration = ParseConfiguration.Default(); var parser = new AngleSharpParser(configuration.ExcludeTags); var texts = (await parser.ParseAsync(fileContent)).ToList(); Assert.AreEqual(290, texts.Count); }
/// <summary> /// Основной метод запуска парсинга из потока /// </summary> /// <param name="streamReader">Входной поток</param> public override async Task Parse(StreamReader streamReader) { var parser = new AngleSharpParser(Configuration.ExcludeTags); var fileContent = await streamReader.ReadToEndAsync(); IEnumerable <string> texts; try { texts = await parser.ParseAsync(fileContent); } catch (Exception e) { throw new HtmlParserException($"Ошибка в процессе парсинга: {e.Message}"); } var wordsDict = ExtractUniqueWords(texts); PrintReport(wordsDict); }