-
Notifications
You must be signed in to change notification settings - Fork 0
/
Program.cs
57 lines (55 loc) · 2.48 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
using System;
using System.Collections.Generic;
using System.IO;
using NUnitLite;
namespace TextAnalysis
{
internal static class Program
{
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);
//Расскомментируйте этот блок, если хотите выполнить последнюю задачу до первых двух.
/*
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);
}
}
}
}