public void CorrectlyParse_SpecialCharacters() { var originalText = "b;\tc;\rd;\ne;\r\nf;\r\n\r\ng"; var escapedText = Regex.Escape(originalText); var expected = new List <List <string> > { new List <string> { "b" }, new List <string> { "c" }, new List <string> { "d" }, new List <string> { "e" }, new List <string> { "f" }, new List <string> { "g" } }; var actual = SentencesParserTask.ParseSentences(originalText); AssertAllSentencesEqual(expected, actual, escapedText); }
public void NotReturnEmptySentence([Values("..", "...!!?", "")] string text) { var expected = new List <List <string> >(); var actual = SentencesParserTask.ParseSentences(text); AssertAllSentencesEqual(expected, actual, text); }
public void ReturnCorrectResult_OnTextWithOneSentence_WithWordContainingApostrophe() { var text = "it's"; var expected = new List <List <string> > { new List <string> { "it's" } }; var actual = SentencesParserTask.ParseSentences(text); AssertAllSentencesEqual(expected, actual, text); }
public void ReturnCorrectResult_OnTextWithOneSentenceWithTwoWords() { var text = "b, c"; var expected = new List <List <string> > { new List <string> { "b", "c" } }; var actual = SentencesParserTask.ParseSentences(text); AssertAllSentencesEqual(expected, actual, text); }
public void CorrectlyParse_OneSentenceWithWordDelimiter( [Values('^', '#', '$', '-', '+', '1', '=', ' ', '\t', '\n', '\r')] char delimiter) { var text = "x" + delimiter + "y"; var expected = new List <List <string> > { new List <string> { "x", "y" } }; var actual = SentencesParserTask.ParseSentences(text); AssertAllSentencesEqual(expected, actual, text); }
public void ReturnResult_InLowerCase() { var text = "B.C.D"; var expected = new List <List <string> > { new List <string> { "b" }, new List <string> { "c" }, new List <string> { "d" } }; var actual = SentencesParserTask.ParseSentences(text); AssertAllSentencesEqual(expected, actual, text); }
static void Main(string[] args) { Console.OutputEncoding = Encoding.UTF8; Console.InputEncoding = Encoding.UTF8; // Запуск автоматических тестов. Ниже список тестовых наборов, который нужно запустить. // Закомментируйте тесты на те задачи, к которым ещё не приступали, чтобы они не мешались в консоли. // Все непрошедшие тесты var testsToRun = new string[] { "TextGenerator.SentencesParser_Tests", "TextGenerator.FrequencyAnalysis_Tests", "TextGenerator.TextGenerator_Tests", }; /*new AutoRun().Execute(new[] * { * "--stoponerror", // Останавливать после первого же непрошедшего теста. Закомментируйте, чтобы увидеть все падающие тесты * "--noresult", * "--test=" + string.Join(",", testsToRun) * });*/ var text = File.ReadAllText("HarryPotterText.txt"); //var text = File.ReadAllText("moskva-petushki.txt"); var sentences = SentencesParserTask.ParseSentences(text); var frequency = FrequencyAnalysisTask.GetMostFrequentNextWords(sentences); while (true) { Console.Write("Введите первое слово (например, harry): "); var beginning = Console.ReadLine(); if (string.IsNullOrEmpty(beginning)) { return; } var phrase = TextGeneratorTask.ContinuePhrase(frequency, beginning.ToLower(), 10); Console.WriteLine(phrase); } }
public void CorrectlyParse_SentenceDelimiters() { var text = "a.b!c?d:e;f(g)h;i"; var expected = new List <List <string> > { new List <string> { "a" }, new List <string> { "b" }, new List <string> { "c" }, new List <string> { "d" }, new List <string> { "e" }, new List <string> { "f" }, new List <string> { "g" }, new List <string> { "h" }, new List <string> { "i" } }; var actual = SentencesParserTask.ParseSentences(text); AssertAllSentencesEqual(expected, actual, text); }