/// <summary> /// Remove the instruments. /// </summary> /// <param name="securities">The instruments.</param> public void RemoveRange(IEnumerable <Security> securities) { if (securities == null) { throw new ArgumentNullException(nameof(securities)); } securities = securities.ToArray(); lock (_sync) { if (securities.Count() > 1000 || (_allSecurities.Count > 1000 && securities.Count() > _allSecurities.Count * 0.1)) { _allSecurities.RemoveRange(securities); securities = _allSecurities.ToArray(); _allSecurities.Clear(); _trie.Clear(); securities.ForEach(Add); } else { _trie.RemoveRange(securities); _allSecurities.RemoveRange(securities); } } }
public void Test16() { trie.AddWord(""); Assert.AreNotEqual(0, trie.GetWords().Count); trie.Clear(); Assert.AreEqual(0, trie.GetWords().Count); }
/// <summary> /// Remove all instruments. /// </summary> public void Clear() { lock (_sync) { _trie.Clear(); _allSecurities.Clear(); } }
private void ClearSecurities() { lock (_sync) { _trie.Clear(); _allSecurities.Clear(); } //ExcludedCount = 0; Cleared.SafeInvoke(); }
public void TrieContractClear1() { ITrie <String, char, String> trie = this.GetInstance(); trie.Add("test", "a"); Assert.AreEqual("a", trie["test"]); trie.Clear(); Assert.IsFalse(trie.ContainsKey("test")); }
/// <summary> /// Создать <see cref="FilterableSecurityProvider"/>. /// </summary> /// <param name="securities">Инструменты.</param> /// <param name="excludeFilter">Фильтр для исключения инструментов.</param> public FilterableSecurityProvider(ISecurityList securities, Func <Security, bool> excludeFilter = null) { if (securities == null) { throw new ArgumentNullException("securities"); } Securities = securities; ExcludeFilter = excludeFilter; Securities.Added += AddSuffix; Securities.Inserted += (i, s) => AddSuffix(s); Securities.Removed += s => { lock (_trie) _trie.Remove(s); if (ExcludeFilter != null && ExcludeFilter(s)) { ExcludedCount--; } SecuritiesChanged.SafeInvoke(NotifyCollectionChangedAction.Remove, s); }; Securities.Cleared += () => { lock (_trie) _trie.Clear(); ExcludedCount = 0; SecuritiesChanged.SafeInvoke(NotifyCollectionChangedAction.Reset, null); }; Securities.ForEach(AddSuffix); }
/// <summary> /// Clears all interned URIs /// </summary> public static void Clear() { _uris.Clear(); }
public void Clear01() { Assert.AreNotEqual(0, trie.GetWords().Count); trie.Clear(); Assert.AreEqual(0, trie.GetWords().Count); }