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 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); }
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); } }