public void AddTwoAndRemoveOneTest() { var memory = new DefaultMemoryStrategy <char, int>(); var t = new Trie <char, int>(memory); t.AddOrUpdate("words", 1, n => n + 1); t.AddOrUpdate("word", 1, n => n + 1); Assert.Equal(5, memory.Nodes.Count); t.Remove("words"); Assert.Equal(4, memory.Nodes.Count); memory = new DefaultMemoryStrategy <char, int>(); t = new Trie <char, int>(memory); t.AddOrUpdate("word", 1, n => n + 1); t.AddOrUpdate("weird", 1, n => n + 1); Assert.Equal(8, memory.Nodes.Count); t.Remove("word"); Assert.Equal(5, memory.Nodes.Count); }
public void AddOneAndRemoveDifferentTest() { var memory = new DefaultMemoryStrategy <char, int>(); var t = new Trie <char, int>(memory); t.AddOrUpdate("word", 1, n => n + 1); Assert.Equal(4, memory.Nodes.Count); t.Remove("words"); Assert.Equal(4, memory.Nodes.Count); }