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()); }
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); }