public void GetInterestingWords_NounsInDifferentForm_NounsInDefaultForm() { var returnedWords = WordPreparer.GetInterestingWords(new[] { "инженеры", "коты", "ИнЖеНЕров", "Кота", "о коте" }); returnedWords.All(x => x == "инженер" || x == "кот").Should().BeTrue(); returnedWords.Length.Should().Be(5); }
private DetectedGender DetectForParts(IFio petrovich) { return(new DetectedGender { FirstName = _firstNameDet.Determinate(WordPreparer.GetChunks(petrovich.FirstName?.Trim())), LastName = _lastNameDet.Determinate(WordPreparer.GetChunks(petrovich.LastName?.Trim())), MiddleName = _middleNameDet.Determinate(WordPreparer.GetChunks(petrovich.MiddleName?.Trim())) }); }
public void GetWordsStatistic_DifferentWords_CorrectStatistic() { var words = ("даже плохой программный код может работать однако если код не является чистым " + "это всегда будет мешать развитию проекта и компании разработчика " + "отнимая значительные ресурсы на его поддержку и укрощение") .Split(' '); var statistic = WordPreparer.GetWordsStatistic(words); statistic.Count(x => x.Word == "код").Should().Be(1); statistic.First(x => x.Word == "код").Count.Should().Be(2); }
private string InflectTo(string name, Case @case, RuleSet ruleSet) { var nameChunks = WordPreparer.GetChunks(name); return(string.Join("-", nameChunks.Select((chunk, index) => { bool firstWord = index == 0 && nameChunks.Count > 1; return FindAndApply(chunk, @case, ruleSet, new Dictionary <string, bool> { { "first_word", firstWord } }); }))); }
public void GetWordsStatistic_Null_ThrowsException() { new Action(() => WordPreparer.GetWordsStatistic(null)).Should().Throw <NullReferenceException>(); }
public void GetWordsStatistic_EmptyArray_EmptyList() { WordPreparer.GetWordsStatistic(new string[0]).Count.Should().Be(0); }
public void GetInterestingWords_OneThousandWords_WorkFast() { WordPreparer.GetInterestingWords(Enumerable.Range(0, 1000).Select(x => "пакетов").ToArray()); }
public void GetInterestingWords_BoringWords_EmptyArray() { WordPreparer.GetInterestingWords("а но ты я оно нет да это то для когда и".Split(' ')).Length.Should() .Be(0); }