public void GetByPrefix()
{
var trie = new Trie<bool>();
trie.Add("ABC", false);
trie.Add("AB", false);
(trie as ICollection<KeyValuePair<string, bool>>).Add(new KeyValuePair<string, bool>("ADE", false));
trie.Add(new TrieEntry<bool>("ABCDE", false));
var result = trie.GetByPrefix("ABC").Select(t => t.Key).OrderBy(t => t);
string[] expectedResult = { "ABC", "ABCDE" };
Assert.AreEqual(4, trie.Count);
Assert.IsTrue(expectedResult.SequenceEqual(result));
}