コード例 #1
0
        public void Empty_Space_String_Are_Not_Anagram_Equals_False()
        {
            Anagrams anagrams = new Anagrams();
            var      result   = anagrams.IsAnagram("", "");

            Assert.AreEqual(false, result);
        }
コード例 #2
0
        public void Roam_And_Moro_Are_Anagram_EqualsFalse()
        {
            Anagrams anagrams = new Anagrams();
            var      result   = anagrams.IsAnagram("room", "roam");

            Assert.AreEqual(false, result);
        }
コード例 #3
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);
                }
            });
        }
コード例 #4
0
        public void Null_Strings_Are_Not_Anagram_Equals_False()
        {
            Anagrams anagrams = new Anagrams();
            var      result   = anagrams.IsAnagram(null, null);

            Assert.AreEqual(false, result);
        }
コード例 #5
0
        public void First_Word_With_Whitespace_And_Second_Without_Equals_True()
        {
            Anagrams anagrams = new Anagrams();
            var      result   = anagrams.IsAnagram("store scum", "customers");

            Assert.AreEqual(true, result);
        }
コード例 #6
0
        public void Customers_And_Store_Scum_Are_Anagram_Equals_True()
        {
            Anagrams anagrams = new Anagrams();
            var      result   = anagrams.IsAnagram("store scum", "customers");

            Assert.AreEqual(true, result);
        }
コード例 #7
0
        public void AnagramEqualityTestDiffLength()
        {
            Anagrams compare = new Anagrams();
            string   word1   = "igazság";
            string   word2   = "gazság";

            Assert.AreEqual(true, compare.wordCompare(word1, word2));
        }
コード例 #8
0
        public void AnagramEqualityTestDiffChars()
        {
            Anagrams compare = new Anagrams();
            string   word1   = "axaxaxaxaxa";
            string   word2   = "axayayaxaxa";

            Assert.AreEqual(true, compare.wordCompare(word1, word2));
        }
コード例 #9
0
        public void AnagramEqualityTest()
        {
            Anagrams compare = new Anagrams();
            string   word1   = "one plus twelve";
            string   word2   = "two plus eleven";

            Assert.AreEqual(true, compare.wordCompare(word1, word2));
        }
コード例 #10
0
        public void indicate_two_words_are_not_anagrams_if_one_is_empty()
        {
            var anagramsApp = new Anagrams();

            var wordsAreAnagrams = anagramsApp.DetermineIfWordsAreAnagrams("rat", "");

            Assert.False(wordsAreAnagrams);
        }
コード例 #11
0
 public void TestMarkSchemeYes()
 {
     Assert.AreEqual("Anagrams", Anagrams.Checker("OLYMPIAD", "OLYMPIAD"));
     Assert.AreEqual("Anagrams", Anagrams.Checker("LEMON", "MELON"));
     Assert.AreEqual("Anagrams", Anagrams.Checker("COVERSLIP", "SLIPCOVER"));
     Assert.AreEqual("Anagrams", Anagrams.Checker("TEARDROP", "PREDATOR"));
     Assert.AreEqual("Anagrams", Anagrams.Checker("ABBCCCDDD", "DDDCCCBBA"));
 }
コード例 #12
0
ファイル: UnitTest1.cs プロジェクト: strofemuk/AnagramKata
        public void AbesBase()
        {
            string[] wordList = { "abe's", "base","race","car","care"};

            Anagrams anagrams = new Anagrams(wordList);

            Assert.IsTrue(anagrams["ABES"].Count == 2);
        }
コード例 #13
0
 public void TestMarkSchemeNo()
 {
     Assert.AreEqual("Not Anagrams", Anagrams.Checker("I", "A"));
     Assert.AreEqual("Not Anagrams", Anagrams.Checker("FORTY", "FORT"));
     Assert.AreEqual("Not Anagrams", Anagrams.Checker("ONE", "SIX"));
     Assert.AreEqual("Not Anagrams", Anagrams.Checker("GREEN", "RANGE"));
     Assert.AreEqual("Not Anagrams", Anagrams.Checker("ABBCCCDDD", "AAABBBCCD"));
 }
コード例 #14
0
        public void return_the_list_of_anagrams_if_the_input_has_three_characters()
        {
            var expectedAnagrams = new List <String> {
                "bir", "bri", "ibr", "irb", "rbi", "rib"
            };

            Anagrams.Of("bir").Should().BeEquivalentTo(expectedAnagrams);
        }
コード例 #15
0
        public void ThreeWords_in_Rout()
        {
            string   Anagram  = "boaster";
            string   Expected = "boaster boaters borates rebatos sorbate";
            string   rout     = @"C:\Users\David\Desktop\Anagrams.txt";
            Anagrams test5    = new Anagrams();

            Assert.AreEqual(Expected, test5.Finder(Anagram, rout));
        }
コード例 #16
0
        public List <string> GetLongestAnagramList()
        {
            if (!Anagrams.Any() || LongestListIndex >= Anagrams.Count)
            {
                return(new List <string>());
            }

            return(Anagrams[LongestListIndex]);
        }
コード例 #17
0
        public void TwoWords()
        {
            string   Anagram  = "kinship";
            string   Expected = "kinship pinkish";
            string   rout     = @"C:\Users\David\Desktop\Anagrams.txt";
            Anagrams test3    = new Anagrams();

            Assert.AreEqual(Expected, test3.Finder(Anagram, rout));
        }
コード例 #18
0
        public string GetLongestWordWithAnagram()
        {
            if (!Anagrams.Any() || LongestWordIndex >= Anagrams.Count)
            {
                return(string.Empty);
            }

            return(Anagrams[LongestWordIndex].First());
        }
コード例 #19
0
        public void SixWords_in_Rout()
        {
            string   Anagram  = "enlist";
            string   Expected = "enlist elints inlets listen silent tinsel";
            string   rout     = @"C:\Users\David\Desktop\Anagrams.txt";
            Anagrams test4    = new Anagrams();

            Assert.AreEqual(Expected, test4.Finder(Anagram, rout));
        }
コード例 #20
0
        public void GroupAnagrams_AllAnagramsOfOneWord_ReturnAllGrouped()
        {
            var input    = new[] { "abcdf", "bacdf", "cdfab", "dfabc", "fabcd" };
            var expected = new[]
            {
                new[] { "abcdf", "bacdf", "cdfab", "dfabc", "fabcd" }
            };

            Assert.Equal(expected, Anagrams.GroupAnagrams(input));
        }
コード例 #21
0
        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));
        }
コード例 #22
0
        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));
        }
コード例 #23
0
        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));
        }
コード例 #24
0
        public void AnagramasTest()
        {
            var input = "ABCD";

            var solution = new Anagrams();

            var anagrams = solution.GetAnagrams(input);

            Assert.IsTrue(anagrams.Count == solution.GetMaxAnagrams(input), "Invalid number of anagrams");
        }
コード例 #25
0
        public void EmptyString()
        {
            string Anagram  = null;
            string Expected = null;
            string Words    = null;

            Anagrams test1 = new Anagrams();

            Assert.AreEqual(Expected, test1.Find(Anagram, Words));
        }
コード例 #26
0
        public void OneWords()
        {
            string Anagram  = "mash";
            string Expected = "mash hasm";
            string Words    = "hasm";

            Anagrams test2 = new Anagrams();

            Assert.AreEqual(Expected, test2.Find(Anagram, Words));
        }
コード例 #27
0
        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));
        }
コード例 #28
0
        public void indicate_two_words_are_not_anagrams_if_they_are_not_of_equal_length()
        {
            var word1 = "rat";
            var word2 = "ta";

            var anagramsApp = new Anagrams();

            var wordsAreAnagrams = anagramsApp.DetermineIfWordsAreAnagrams(word1, word2);

            Assert.False(wordsAreAnagrams);
        }
コード例 #29
0
        public void indicate_when_two_words_are_anagrams_of_each_other()
        {
            var word1 = "rat";
            var word2 = "tar";

            var anagramsApp = new Anagrams();

            var wordsAreAnagrams = anagramsApp.DetermineIfWordsAreAnagrams(word1, word2);

            Assert.True(wordsAreAnagrams);
        }
コード例 #30
0
        public void return_the_list_of_anagrams_if_the_input_has_four_characters()
        {
            var expectedAnagrams = new List <String> {
                "biro", "bior", "brio", "broi", "boir", "bori",
                "ibro", "ibor", "irbo", "irob", "iobr", "iorb",
                "rbio", "rboi", "ribo", "riob", "roib", "robi",
                "obir", "obri", "oibr", "oirb", "orbi", "orib"
            };

            Anagrams.Of("biro").Should().BeEquivalentTo(expectedAnagrams);
        }
コード例 #31
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"));
        }
コード例 #32
0
 public void AnagramsTest()
 {
     Assert.AreEqual(new List <string> {
         "a"
     }, Anagrams.AnagramsMethod("a", new List <string> {
         "a", "b", "c", "d"
     }));
     Assert.AreEqual(new List <string> {
         "carer", "arcre", "carre"
     }, Anagrams.AnagramsMethod("racer", new List <string> {
         "carer", "arcre", "carre", "racrs", "racers", "arceer", "raccer", "carrer", "cerarr"
     }));
 }