Example #1
0
        private static string GetStatistics(string AnalizeText)
        {
            StringBuilder staticticsCollected = new StringBuilder();

            Console.Write("Collecting Statistics... ");
            CheckEachChar(AnalizeText, out AlphaCounterTracker LetterCount,
                          out WordCounterTracker WordCount,
                          out int CapitalizationCount,
                          out PrefixCounterTracker AnyPrefixCount);
            Console.WriteLine("Complete.");

            Console.Write("Formatting Data... ");
            staticticsCollected.Append(LetterCount.GetItemizedCountResults("Letter Count (case insensitive):"));
            staticticsCollected.Append(System.Environment.NewLine);
            staticticsCollected.Append($"Count of Capatalized Letters: {CapitalizationCount}");
            staticticsCollected.Append(System.Environment.NewLine);
            staticticsCollected.Append(System.Environment.NewLine);
            staticticsCollected.Append(WordCount.GetGeneralCountResults("Most Occurring Word(s): "));
            staticticsCollected.Append(System.Environment.NewLine);
            staticticsCollected.Append(System.Environment.NewLine);
            staticticsCollected.Append(AnyPrefixCount.GetGeneralCountResults("Most Occurring prefix(s) of two or more characters: "));
            Console.WriteLine("Complete.");
            Console.WriteLine();

            return(staticticsCollected.ToString());
        }
Example #2
0
        public void FocusOnCountingLetters()
        {
            string StringToTest = "ASDFASDASAqwerqweqwqZXCVzxcvZXCzxcZXzxZz IIIIIIIIII IIIIIIIIII IIIIIIIIII IIIIIIIIII IIIIIIIIII";

            Dictionary <char, int> ExpectedLetterCount = new Dictionary <char, int>
            {
                ['A'] = 4,
                ['S'] = 3,
                ['D'] = 2,
                ['F'] = 1,

                ['Q'] = 4,
                ['W'] = 3,
                ['E'] = 2,
                ['R'] = 1,

                ['Z'] = 8,
                ['X'] = 6,
                ['C'] = 4,
                ['V'] = 2,

                ['I'] = 50
            };
            int    expectedCapitalizationCount = 50 + 8 + 6 + 4 + 2;
            string ExpectedHighestWord         = "I";
            int    ExpectedHighestWordCount    = 46;

            List <string> expectedPrefixes_all = new List <string>
            {
                "Aqwerqweqw",
                "Vzxc",
                "Czx",
                "Xz",
                "Zz"
            };
            List <string> NotExpectedPrefixes_all = new List <string>
            {
                "Aq",
                "Aqw",
                "Aqwe",
                "Aqwer",
                "Aqwerq",
                "Aqwerqw",
                "Aqwerqwe",
                "Aqwerqweq",
                "Vz",
                "Vzx",
                "Cz"
            };
            int ExpectedPrefixCount = 1;

            GatherTextStatistics.Program.CheckEachChar(StringToTest, out AlphaCounterTracker LetterCount,
                                                       out WordCounterTracker WordCount,
                                                       out int CapitalizationCount,
                                                       out PrefixCounterTracker AnyPrefixCount);

            foreach (char c in ExpectedLetterCount.Keys)
            {
                Assert.AreEqual(ExpectedLetterCount[c], LetterCount.GetValue(c));
            }
            Assert.AreEqual(ExpectedHighestWordCount, WordCount.HighestOccuranceCount);
            string HighestWordResults = WordCount.GetGeneralCountResults();

            Assert.IsTrue(HighestWordResults.Contains($"{ExpectedHighestWord}"));

            Assert.AreEqual(expectedCapitalizationCount, CapitalizationCount);
            Assert.AreEqual(ExpectedPrefixCount, AnyPrefixCount.HighestOccuranceCount);
            foreach (string s in expectedPrefixes_all)
            {
                Assert.IsTrue(AnyPrefixCount.HighestIncludes(s));
            }
            foreach (string s in NotExpectedPrefixes_all)
            {
                Assert.IsFalse(AnyPrefixCount.HighestIncludes(s));
            }
        }