private static void RunApp(string path) { FileContent fileContent = new FileContent(path); StatisticalAnalysis charStatisticalAnalysis = new StatisticalAnalysis(fileContent.CharIterator()); StatisticalAnalysis wordStatisticalAnalysis = new StatisticalAnalysis(fileContent.WordIterator()); View view = new View(); Console.WriteLine(); Console.WriteLine($"---{path}---"); Console.WriteLine(); view.Print($"Char count: {charStatisticalAnalysis.Size()}"); view.Print($"Word count: {wordStatisticalAnalysis.Size()}"); view.Print($"Dict size: {wordStatisticalAnalysis.DictionarySize()}"); float vowelShare = charStatisticalAnalysis.ShareInText("a", "e", "i", "o", "u"); view.Print($"Vowels %: {Math.Round(vowelShare, 0)}%"); view.Print("Most used words (>1%):"); view.Print(new List <string>(wordStatisticalAnalysis.OccurMoreThan(1))); view.Print(wordStatisticalAnalysis.CountElementsToDictionary("love", "hate", "music")); string firstLetter = "a"; string secondLetter = "e"; Console.WriteLine($"{firstLetter} : {secondLetter} count ratio: {Math.Round(charStatisticalAnalysis.CountRatio(firstLetter, secondLetter), 2)}"); view.Print(charStatisticalAnalysis.GetShareOfElementsToDictionary(charStatisticalAnalysis.dictionary.ToArray())); Console.WriteLine(); }
public void TestIfDictionarySizeReturnsProperWordDictionarySize() { //Arrange var sutText = new FileContent(@"C:\Users\tomas\Dropbox\Codecool - C#\csharp-text-analyser-T5chrono\TextAnalser.Test\TestFiles\test_simple.txt"); var sutAnalysis = new StatisticalAnalysis(sutText.GetWordIterator()); //Act var actual_value = sutAnalysis.DictionarySize(); //Assert Assert.Equal(2, actual_value); }