コード例 #1
0
        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);
        }
コード例 #2
0
        public void NotReturnEmptySentence([Values("..", "...!!?", "")]
                                           string text)
        {
            var expected = new List <List <string> >();

            var actual = SentencesParserTask.ParseSentences(text);

            AssertAllSentencesEqual(expected, actual, text);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: ilyabu/TextGenerator
        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);
            }
        }
コード例 #8
0
        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);
        }