Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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>()
            {
                "слово!"
            });
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        public void ReturnInLowerCase_WhenWordConverter()
        {
            var filter = new WordsFilter(_analyzer.Object, new WordConverter());

            filter.FilterWords(_reader.Object).ShouldBeEquivalentTo(_words.Select(w => w.ToLower()));
        }
Esempio n. 7
0
        public void ReturnSameWords_WhenAnalyzerAndConverterDoingNothing()
        {
            var filter = new WordsFilter(_analyzer.Object, _converter.Object);

            filter.FilterWords(_reader.Object).ShouldBeEquivalentTo(_words);
        }