public void MostUsedCharacterWorks(string text, char expectedChar, int expectedCount)
        {
            var result = WordsCalculator.GetMostUsedChar(text);

            Assert.Equal(expectedChar, result.Char);
            Assert.Equal(expectedCount, result.Count);
        }
Esempio n. 2
0
        public void MostUsedWordWorks(string text, string expectedWord, int expectedCount)
        {
            var result = WordsCalculator.GetMostUsedWord(text);

            Assert.Equal(expectedWord, result.Word);
            Assert.Equal(expectedCount, result.Count);
        }
Esempio n. 3
0
        public void Calc_CaseInsensitive_ShouldBeCaseInsensitive()
        {
            // Arrange
            var source = new[]
            {
                "Lorem", "ipsum", "dolor", "sit", "posuere",
                "lorem", "ipSum", "dOlor", "SIT", "posuerE"
            };

            var target = new WordsCalculator();

            var wordsComparer = StringComparer.InvariantCultureIgnoreCase;

            // Act
            var actual = target.Calculate(source, wordsComparer);

            // Assert
            actual.ShouldBeEquivalentTo(new Dictionary <string, uint>
            {
                { "Lorem", 2 },
                { "ipsum", 2 },
                { "dolor", 2 },
                { "sit", 2 },
                { "posuere", 2 },
            });
        }
Esempio n. 4
0
        public void NonEnglishWordsMustBeCount()
        {
            var sentence = "je fais du vélo dans la fôret."; //I do bike in the forest in French

            var calculator = new WordsCalculator();
            var countWords = calculator.Count(sentence);

            Assert.AreEqual((uint)7, countWords);
        }
Esempio n. 5
0
        public TextStatistics Statistics(string text)
        {
            if (text == null)
            {
                throw new ArgumentNullException("Input text is null.");
            }

            var hyphensCalculator = new HyphensCalculator();
            var wordsCalculator   = new WordsCalculator();
            var spacesCalculator  = new SpacesCalculator();


            return(new TextStatistics()
            {
                HyphensCount = hyphensCalculator.Count(text),
                SpacesCount = spacesCalculator.Count(text),
                WordsCount = wordsCalculator.Count(text)
            });
        }
Esempio n. 6
0
        public void Calc_CaseInsensitiveCyrillic_ShouldBeCaseInsensitive()
        {
            // Arrange
            var source = new[]
            {
                "Что", "что"
            };

            var target = new WordsCalculator();

            var wordsComparer = StringComparer.InvariantCultureIgnoreCase;

            // Act
            var actual = target.Calculate(source, wordsComparer);

            // Assert
            actual.ShouldBeEquivalentTo(new Dictionary <string, uint>
            {
                { "Что", 2 }
            });
        }
Esempio n. 7
0
 public void WordCountWorks(string text, int expectedWordCount)
 {
     Assert.Equal(expectedWordCount, WordsCalculator.CountTotalWords(text));
 }
 public void CharacterCountWithoutSpacesWorks(string text, int expectedWordCount)
 {
     Assert.Equal(expectedWordCount, WordsCalculator.CountCharactersWithoutSpaces(text));
 }