Example #1
0
        private static void Main()
        {
            var totalTime = Stopwatch.StartNew();

            const int numberOfAngramWordsTofilter = 2;
            const int numberOfAnagramWordToFind   = 48162;

            var readFile      = Stopwatch.StartNew();
            var wordsFromFile = new WordsFromFile();
            var filePath      = wordsFromFile.GetFilePath("wordlist.txt");
            var wordsInFile   = wordsFromFile.ReadFile(filePath, "ISO-8859-1");
            var splittedWords = wordsFromFile.SplitString(wordsInFile, new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);

            readFile.Stop();

            var findAllAnagrams = Stopwatch.StartNew();
            var anagrams        = new Anagrams();
            var foundAnagrams   = anagrams.FindAnagrams(splittedWords);

            findAllAnagrams.Stop();

            var timeToPrint = Stopwatch.StartNew();
            var printInfo   = new PrintInfo();

            printInfo.Print(numberOfAngramWordsTofilter, numberOfAnagramWordToFind, splittedWords, foundAnagrams);
            timeToPrint.Stop();

            Console.WriteLine($"\n Time to read file from disk and split into words: {readFile.ElapsedMilliseconds}ms.");
            Console.WriteLine($"\n Time to find all anagrams: {findAllAnagrams.ElapsedMilliseconds}ms.");
            Console.WriteLine($"\n Time to print all information: {timeToPrint.ElapsedMilliseconds}ms.");
            Console.WriteLine($"\n Time to run this application: {totalTime.ElapsedMilliseconds}ms.");
            Console.ReadKey();
        }
Example #2
0
        public void CompileDictionaryBadFormat()
        {
            WordsFromFile wordsFromFile = new WordsFromFile();

            string[] textFromFile = new string[14];
            textFromFile[0]  = "word - answer1,answer2";
            textFromFile[1]  = "word - answer1 answer2;";
            textFromFile[2]  = "word- answer1,answer2;";
            textFromFile[3]  = "word -answer1,answer2;";
            textFromFile[4]  = "word-answer1,answer2;";
            textFromFile[5]  = "word - answer1 ,answer2;";
            textFromFile[6]  = "word - answer1, answer2;";
            textFromFile[7]  = "word - answer1,answer2 ;";
            textFromFile[8]  = "word1,word2 - answer1,answer2;";
            textFromFile[9]  = "word1 word2 - answer1,answer2;";
            textFromFile[10] = "word - answer1 - answer2;";
            textFromFile[11] = " word - answer1,answer2;";
            textFromFile[12] = "word  - answer1,answer2;";
            textFromFile[13] = "word -  answer1,answer2;";
            Dictionary <string, List <string> > translationsDictionary = wordsFromFile.CompileDictionary(textFromFile);

            Assert.AreEqual(translationsDictionary.Keys.Count, 4);
            Assert.AreEqual(translationsDictionary.Keys.First(), "word1,word2");
            Assert.AreEqual(translationsDictionary.Keys.ElementAt(1), "word2");
            Assert.AreEqual(translationsDictionary.Keys.ElementAt(2), "answer1");
            Assert.AreEqual(translationsDictionary.Keys.ElementAt(3), "word");
            Assert.AreEqual(translationsDictionary.Values.Count, 4);
            Assert.AreEqual(translationsDictionary.Values.First()[0], "answer1");
            Assert.AreEqual(translationsDictionary.Values.First()[1], "answer2");
            Assert.AreEqual(translationsDictionary.Values.ElementAt(1)[0], "answer1");
            Assert.AreEqual(translationsDictionary.Values.ElementAt(1)[1], "answer2");
            Assert.AreEqual(translationsDictionary.Values.ElementAt(2)[0], "answer2");
            Assert.AreEqual(translationsDictionary.Values.ElementAt(3)[0], "answer1");
            Assert.AreEqual(translationsDictionary.Values.ElementAt(3)[1], "answer2");
        }
Example #3
0
        public void CompileDictionaryNoWordNoAnswers()
        {
            WordsFromFile wordsFromFile = new WordsFromFile();

            string[] textFromFile = new string[1];
            textFromFile[0] = " - ";
            Dictionary <string, List <string> > translationsDictionary = wordsFromFile.CompileDictionary(textFromFile);

            Assert.AreEqual(translationsDictionary.Keys.Count, 0);
            Assert.AreEqual(translationsDictionary.Values.Count, 0);
        }
Example #4
0
        public void CompileDictionaryOneAnswer()
        {
            WordsFromFile wordsFromFile = new WordsFromFile();

            string[] textFromFile = new string[1];
            textFromFile[0] = "word - answer;";
            Dictionary <string, List <string> > translationsDictionary = wordsFromFile.CompileDictionary(textFromFile);

            Assert.AreEqual(translationsDictionary.Keys.Count, 1);
            Assert.AreEqual(translationsDictionary.Keys.First(), "word");
            Assert.AreEqual(translationsDictionary.Values.Count, 1);
            Assert.AreEqual(translationsDictionary.Values.First()[0], "answer");
        }