Beispiel #1
0
        public BoringWordsSelector(WordHandlerSettings settings)
        {
            Settings       = settings;
            table.RowCount = settings.SpeechPartsStatuses.Count;

            var acceptButton = new Button {
                Text = "OK", DialogResult = DialogResult.OK
            };
            var header = new Label
            {
                Text     = "What parts of speech will be in the cloud?",
                Font     = new Font(SystemFonts.CaptionFont.FontFamily, 9, FontStyle.Bold),
                AutoSize = true
            };

            SpeechPartsList = ConvertToSpeechList(settings.SpeechPartsStatuses);

            Controls.Add(header);
            FillSpeechPartsList(SpeechPartsList);
            table.Controls.Add(acceptButton, 0, SpeechPartsList.Length + 1);

            CenterElements(header, acceptButton);

            Controls.Add(table);
            AcceptButton = acceptButton;
        }
Beispiel #2
0
        public void NormilizeAndExcludeBoringWords_AllWordsBoring_ReturnsAllInputWords()
        {
            var sentence =
                "Утром в лесу запели два звонких соловья и защебетали воробьи, чуть-чуть умолкая.".Split(" ");
            var wordHandlerSettings = new WordHandlerSettings
            {
                SpeechPartsStatuses = defaultSpeechPartsStatuses
                                      .ToDictionary(pair => pair.Key, pair => false)
            };

            new WordHandler(wordHandlerSettings)
            .NormalizeAndExcludeBoringWords(sentence)
            .Should()
            .BeEquivalentTo();
        }
Beispiel #3
0
        public void NormilizeAndExcludeBoringWords_BoringWordsIsNounAndConjunctions_ReturnsOnlyAdjective()
        {
            var settings = new WordHandlerSettings
            {
                SpeechPartsStatuses = new Dictionary <string, bool>
                {
                    ["Прилагательное"] = true, ["Существительное"] = false, ["Союз"] = false
                }
            };
            var words            = "Красивое и сочное яблоко".Split(" ");
            var interestingWords = new WordHandler(settings).NormalizeAndExcludeBoringWords(words).ToArray();

            interestingWords.Should().Contain("красивый", "сочный");
            interestingWords.Should().NotContain("и", "яблоко");
        }
Beispiel #4
0
        public void NormilizeAndExcludeBoringWords_AllWordsInteresting_ReturnsAllInputWords()
        {
            var sentence =
                "Утром в лесу запели два звонких соловья и защебетали воробьи, чуть-чуть умолкая.".Split(" ");
            var wordHandlerSettings = new WordHandlerSettings {
                SpeechPartsStatuses = defaultSpeechPartsStatuses
            };

            new WordHandler(wordHandlerSettings)
            .NormalizeAndExcludeBoringWords(sentence)
            .Should()
            .BeEquivalentTo(
                "утро",
                "лес",
                "запевать",
                "два",
                "звонкий",
                "соловей",
                "защебетать",
                "воробей",
                "умолкать"
                );
        }
Beispiel #5
0
 public WordHandler(WordHandlerSettings wordHandlerSettings) => WordHandlerSettings = wordHandlerSettings;