public void ExcludeIncorrectWord() { var analyzer = new Mock <IWordAnalyzer>(); analyzer.Setup((a) => a.IsCorrectWord("слово")).Returns(false); var filter = new WordsFilter(analyzer.Object, _converter.Object); filter.FilterWords(_reader.Object).Should().BeEmpty(); }
public void Reader_ShouldBePerformedOnce() { var calls = 0; var reader = new Mock <IWordReader>(); reader.Setup((r) => r.ReadWords()).Returns(_words) .Callback(() => calls++); var filter = new WordsFilter(_analyzer.Object, _converter.Object); filter.FilterWords(reader.Object); calls.Should().Be(1); }
public void ChangeWords() { var converter = new Mock <IWordConverter>(); converter.Setup((c) => c.ConvertWord(It.IsAny <string>())).Returns((string s) => s + "!"); var filter = new WordsFilter(_analyzer.Object, converter.Object); filter.FilterWords(_reader.Object).ShouldBeEquivalentTo(new List <string>() { "слово!" }); }
public void ExcludeWords_WhenBoringWords() { var words = new List <string>() { "и" }; var reader = new Mock <IWordReader>(); reader.Setup((r) => r.ReadWords()).Returns(words); var filter = new WordsFilter(new BoringWordsAnalyzer(), _converter.Object); filter.FilterWords(reader.Object).Should().BeEmpty(); }
public void Analyzer_ShouldCheckEachWords() { var words = new List <string>() { "первое", "второе" }; var reader = new Mock <IWordReader>(); reader.Setup((r) => r.ReadWords()).Returns(words); var analyzer = new Mock <IWordAnalyzer>(); var calls = 0; analyzer.Setup((a) => a.IsCorrectWord(It.IsAny <string>())) .Returns(true) .Callback(() => calls++); var filter = new WordsFilter(analyzer.Object, _converter.Object); filter.FilterWords(reader.Object).ToList(); calls.Should().Be(words.Count); }
public void ReturnInLowerCase_WhenWordConverter() { var filter = new WordsFilter(_analyzer.Object, new WordConverter()); filter.FilterWords(_reader.Object).ShouldBeEquivalentTo(_words.Select(w => w.ToLower())); }
public void ReturnSameWords_WhenAnalyzerAndConverterDoingNothing() { var filter = new WordsFilter(_analyzer.Object, _converter.Object); filter.FilterWords(_reader.Object).ShouldBeEquivalentTo(_words); }