public void Test_GenerateVectorCombinations() { var dict = new[] { "a", "tea", "ate", "eat" }; var generator = new AnagramGenerator(dict, 1); var phrase = "aaet"; generator.Initialize(phrase); var expected = new[] { new [] { CreateVector(1), CreateVector(1, 1, 1) }, new [] { CreateVector(1, 1, 1), CreateVector(1) } } .SelectMany(c => c) .ToList(); var actual = generator.GenerateVectorCombinations().ToList(); Assert.AreEqual(2, actual.Count); CollectionAssert.AreEquivalent(expected, actual.SelectMany(c => c).ToList()); }