예제 #1
0
        public void Test_ConvertVectorCombinationsToKeyCombinations()
        {
            var dict      = new[] { "a", "tea", "ate", "eat" };
            var generator = new AnagramGenerator(dict, 1);
            var phrase    = "aaet";

            generator.Initialize(phrase);
            var combinations = new[]
            {
                new [] { CreateVector(1), CreateVector(1, 1, 1) },
                new [] { CreateVector(1, 1, 1), CreateVector(1) }
            };

            var expected = new[]
            {
                new [] { "a", "aet" },
                new [] { "aet", "a" }
            }
            .ToList();

            var actual = generator.ConvertVectorCombinationsToKeyCombinations(combinations).ToList();

            Assert.AreEqual(2, actual.Count);

            CollectionAssert.AreEquivalent(expected.SelectMany(w => w).ToList(), actual.SelectMany(w => w).ToList());
        }
예제 #2
0
        public void Test_GetSentenceByKeys()
        {
            var dict      = new[] { "a", "tea", "ate", "eat" };
            var generator = new AnagramGenerator(dict, 1);
            var phrase    = "aaet";

            generator.Initialize(phrase);

            var actual = generator.GetSentenceByKeys(new[] { "a", "aet" }).ToList();

            Assert.AreEqual(3, actual.Count);
            CollectionAssert.AreEquivalent(new[] { "a eat", "a tea", "a ate" }, actual);
        }