示例#1
0
        public void ShouldIncrementOccurrencesOnMultipleInserts()
        {
            var trie = new ArrayTrie();

            trie.Insert("test");
            trie.Insert("test");
            var results = trie.Find("te").ToList();

            Assert.AreEqual(1, results.Count);
            Assert.AreEqual(2, results[0].occurrences);
        }
示例#2
0
        public void ShouldFindStoredWord()
        {
            var trie = new ArrayTrie();

            trie.Insert("test");
            var results = trie.Find("te").Select(t => t.word).ToList();

            Assert.AreEqual(1, results.Count);
            Assert.Contains("test", results);
        }
示例#3
0
文件: Library.cs 项目: bc3/StlVault
 private void UpdateTags(TagAction action, IEnumerable <string> hashes, string tag)
 {
     WriteLocked(() =>
     {
         foreach (var hash in hashes)
         {
             if (_previewModels.TryGetValue(hash, out var item))
             {
                 if (action == TagAction.Add)
                 {
                     item.Tags.Add(tag);
                     _trie.Insert(tag);
                 }
                 else
                 {
                     item.Tags.Remove(tag);
                 }
             }
         }
     });
 }
示例#4
0
 public void Add(string tag) => _trie.Insert(tag);