public void TestCountAverageWordCount_PositiveCase()
        {
            //Arrange
            double expected = 9;
            //Act
            var result = StringArrayLinq.CountAverageWordCount(strings);

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void TestFindTheLongestWordWithOrdering_Positive()
        {
            //Arrange
            var expected = "yesterday";
            //Act
            var result = StringArrayLinq.FindTheLongestWordWithOrdering(strings);

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void TestFindTheLongestWord_CompareWithOrdering()
        {
            //Arrange
            var expected = true;
            //Act
            var result             = StringArrayLinq.FindTheLongestWord(strings);
            var resultFromOrdering = StringArrayLinq.FindTheLongestWordWithOrdering(strings);

            //Assert
            Assert.AreEqual(expected, result == resultFromOrdering);
        }
        public void TestSelectAndOrderDistinctWords_PositiveCase()
        {
            //Arrange
            var expectedFirstWord = "are";
            var expectedCount     = 27;
            //Act
            var result = StringArrayLinq.SelectAndOrderDistinctWords(strings).ToList();

            //Assert
            Assert.AreEqual(expectedFirstWord, result[0]);
            Assert.AreEqual(expectedCount, result.Count);
        }
        public void SelectWordsThatStartsWithAVowel_SelectAll()
        {
            //Arrange
            var expected = new List <string> {
                "only", "in", "used", "are"
            };
            //Act
            var result = StringArrayLinq.SelectWordsThatStartsWithAVowel(strings);

            //Assert
            Assert.IsTrue(result.All(e => e.All(s => expected.Contains(s))));
        }
        public void TestWordCount_TestAllLines()
        {
            //Arrange
            var expected = new List <int> {
                9, 8, 12, 7
            };
            //Act
            var result = StringArrayLinq.CountWords(strings).ToList();

            //Assert
            CollectionAssert.AreEqual(expected, result);
        }