public static void Main(string[] args) { // Запуск автоматических тестов. Ниже список тестовых наборов, который нужно запустить. // Закомментируйте тесты на те задачи, к которым ещё не приступали, чтобы они не мешались в консоли. // Все непрошедшие тесты var testsToRun = new string[] { //"TextAnalysis.SentencesParser_Tests", // "TextAnalysis.FrequencyAnalysis_Tests", "TextAnalysis.TextGenerator_Tests", }; new AutoRun().Execute(new[] { "--stoponerror", // Останавливать после первого же непрошедшего теста. Закомментируйте, чтобы увидеть все падающие тесты "--noresult", "--test=" + string.Join(",", testsToRun) }); var text = File.ReadAllText("HarryPotterText.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(), 13); Console.WriteLine(phrase); } }
public void IgnoreSentencesWithSingleWord([Values("x. ax. y. z")] string text) { var parsedText = ParseText(text); var expected = new Dictionary <string, string>(); var actual = FrequencyAnalysisTask.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public void ReturnCorrectResult_OnTextWithTwoSentencesWithOneWord() { var text = "x.y"; var parsedText = ParseText(text); var expected = new Dictionary <string, string>(); var actual = FrequencyAnalysisTask.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public void ReturnEmptyDictionary_OnEmptyText() { var text = ""; var parsedText = ParseText(text); var expected = new Dictionary <string, string>(); var actual = FrequencyAnalysisTask.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public static void Main(string[] args) { // Запуск автоматических тестов. Ниже список тестовых наборов, который нужно запустить. // Закомментируйте тесты на те задачи, к которым ещё не приступали, чтобы они не мешались в консоли. // Все непрошедшие тесты File.WriteAllText("C:\test\new.txt", "123456"); var testsToRun = new string[] { "TextAnalysis.SentencesParser_Tests", "TextAnalysis.FrequencyAnalysis_Tests", "TextAnalysis.TextGenerator_Tests", }; new AutoRun().Execute(new[] { "--stoponerror", // Останавливать после первого же непрошедшего теста. Закомментируйте, чтобы увидеть все падающие тесты "--noresult", "--test=" + string.Join(",", testsToRun) }); var text = File.ReadAllText("HarryPotterText.txt"); var sentences = SentencesParserTask.ParseSentences(text); var frequency = FrequencyAnalysisTask.GetMostFrequentNextWords(sentences); //Расскомментируйте этот блок, если хотите выполнить последнюю задачу до первых двух. /* * frequency = new Dictionary<string, string> * { * {"harry", "potter"}, * {"potter", "boy" }, * {"boy", "who" }, * {"who", "likes" }, * {"boy who", "survived" }, * {"survived", "attack" }, * {"he", "likes" }, * {"likes", "harry" }, * {"ron", "likes" }, * {"wizard", "harry" }, * }; */ 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 ReturnResult_WithMostFrequentBigrams([Values("x y. x z. x y.", "x z. x y. x y", "x y. x y.", "x y")] string text) { var parsedText = ParseText(text); var expected = new Dictionary <string, string> { { "x", "y" } }; var actual = FrequencyAnalysisTask.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public void ReturnPairForEveryBigram([Values("x y. y z.", "y z. x y.")] string text) { var parsedText = ParseText(text); var expected = new Dictionary <string, string> { { "x", "y" }, { "y", "z" } }; var actual = FrequencyAnalysisTask.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public void ReturnCorrectResult_OnTextWithOneSentenceWithMultipleWords() { var text = "x y z"; var parsedText = ParseText(text); var expected = new Dictionary <string, string> { { "x", "y" }, { "y", "z" }, { "x y", "z" } }; var actual = FrequencyAnalysisTask.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public void CustomTest() { var text = "a b c d. b c d. e b c a d."; var parsedText = ParseText(text); var expected = new Dictionary <string, string> { { "a", "b" }, { "b", "c" }, { "c", "d" }, { "e", "b" }, { "a b", "c" }, { "b c", "d" }, { "e b", "c" }, { "c a", "d" }, }; var actual = FrequencyAnalysisTask.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public static void Main() { var text = File.ReadAllText("Text.txt"); Console.WriteLine("SentencesParserTask:"); var sentences = SentencesParserTask.ParseSentences(text); for (int i = 0; i < Math.Min(10, sentences.Count); i++) { Console.WriteLine(string.Join("|", sentences[i]) + "."); } Console.WriteLine(); Console.WriteLine("FrequencyAnalysisTask:"); var frequency = FrequencyAnalysisTask.GetMostFrequentNextWords(sentences); foreach (var keyValuePair in frequency.Take(10)) { Console.WriteLine($"{keyValuePair.Key}|{keyValuePair.Value}"); } Console.WriteLine(); Console.WriteLine("BigramGeneratorTask:"); foreach (var start in new[] { "harry", "he", "boy", "ron", "wizard" }) { var phrase = BigramGeneratorTask.ContinuePhraseWithBigramms(frequency, start, 5); Console.WriteLine(phrase); } Console.Read(); /* * Эту часть задания можете выполнить по желанию. * * Console.WriteLine(); * Console.WriteLine("TrigramGeneratorTask:"); * foreach (var start in new[] { "harry potter", "ron weasley", "hermione granger" }) * { * var phrase = TrigramGeneratorTask.ContinuePhraseWithTrigramms(frequency, start, 5); * Console.WriteLine(phrase); * } */ }