예제 #1
0
        public static void Main(string[] args)
        {
            if (args.Length != 2)
            {
                Console.WriteLine("usage: dotnet run min_word_length max_word_count");
            }
            var minWordLength = int.Parse(args[0]);
            var maxWordCount  = int.Parse(args[1]);
            var map           = new CharacterCountMap(searchText);
            var wordlist      = LoadWordlist(minWordLength, map);

            //foreach(var anagram in Anagrams.Find(wordlist, map, maxWordCount))
            Parallel.ForEach(wordlist, x =>
            {
                Console.WriteLine("Processing subtree for {0}", x);
                foreach (var anagram in Anagrams.Find(
                             wordlist.Where(y => y != x),
                             map.Subtract(x),
                             maxWordCount - 1))
                {
                    var final = x + " " + anagram;
                    Console.WriteLine(final);
                    CheckForMatch(final);
                }
            });
        }
        public void EmptyString()
        {
            string Anagram  = null;
            string Expected = null;
            string Words    = null;

            Anagrams test1 = new Anagrams();

            Assert.AreEqual(Expected, test1.Find(Anagram, Words));
        }
        public void OneWords()
        {
            string Anagram  = "mash";
            string Expected = "mash hasm";
            string Words    = "hasm";

            Anagrams test2 = new Anagrams();

            Assert.AreEqual(Expected, test2.Find(Anagram, Words));
        }
        public void TestWords()
        {
            string Expected = "crepitus cuprites pictures piecrust";
            string Anagram  = "crepitus";                            //  Anagrama
            string Words    = "hamilton cuprites pictures piecrust"; //  Conjunto de palabras

            Anagrams test2 = new Anagrams();

            Assert.AreEqual(Expected, test2.Find(Anagram, Words));
        }
        public void FiveWords()
        {
            string Expected = "hola hlao";
            string Anagram  = "hola";                                   //  Anagrama
            string Words    = "camicasegrande barbaro budo hlao vizco"; //  Conjunto de palabras

            Anagrams test2 = new Anagrams();

            Assert.AreEqual(Expected, test2.Find(Anagram, Words));
        }
        public void ThreeWords()
        {
            string Expected = "hola olah hlao";
            string Anagram  = "hola";            //  Anagrama
            string Words    = "olah hlao vizco"; //  Conjunto de palabras

            Anagrams test3 = new Anagrams();

            Assert.AreEqual(Expected, test3.Find(Anagram, Words));
        }
        public void OneWords()
        {
            string Expected = "hola olah";
            string Anagram  = "hola"; //  Anagrama
            string Words    = "olah"; //  Conjunto de palabras

            Anagrams test2 = new Anagrams();

            Assert.AreEqual(Expected, test2.Find(Anagram, Words));
        }
예제 #8
0
        public void ShouldReturnAnagrams()
        {
            var input    = new[] { "cat", "act", "asdf", "who", "how" };
            var cut      = new Anagrams();
            var anagrams = cut.Find(input);

            Assert.AreEqual(4, anagrams.Count);
            Assert.IsTrue(anagrams.Contains("cat"));
            Assert.IsTrue(anagrams.Contains("act"));
            Assert.IsTrue(anagrams.Contains("who"));
            Assert.IsTrue(anagrams.Contains("how"));
        }