public void Add() { MultiKeyDistinctValueDictionary <string, string> dictionary = new MultiKeyDistinctValueDictionary <string, string>(); dictionary.Add("1", "2"); Assert.AreEqual(1, dictionary.Count); Assert.IsTrue(dictionary.ContainsKey("1")); Assert.IsTrue(dictionary.Contains("1", "2")); Assert.AreEqual("2", dictionary["1"].First()); dictionary.Add("1", "2"); Assert.AreEqual(1, dictionary.Count); dictionary.Add("1", "3"); Assert.AreEqual(2, dictionary.Count); Assert.IsTrue(dictionary.ContainsKey("1")); Assert.IsTrue(dictionary.Contains("1", "2")); Assert.IsTrue(dictionary.Contains("1", "3")); dictionary.Add("2", "1"); Assert.AreEqual(3, dictionary.Count); Assert.IsTrue(dictionary.ContainsKey("1")); Assert.IsTrue(dictionary.ContainsKey("2")); Assert.IsTrue(dictionary.Contains("1", "2")); Assert.IsTrue(dictionary.Contains("1", "3")); Assert.IsTrue(dictionary.Contains("2", "1")); }
public void Add_Sequence() { MultiKeyDistinctValueDictionary <string, string> dictionary = new MultiKeyDistinctValueDictionary <string, string>(); dictionary.Add("1", new List <string>() { "2", "3" }); Assert.AreEqual(2, dictionary.Count); Assert.IsTrue(dictionary.ContainsKey("1")); Assert.IsTrue(dictionary.Contains("1", "2")); Assert.IsTrue(dictionary.Contains("1", "3")); }
public void Indexer() { MultiKeyDistinctValueDictionary <string, string> dictionary = new MultiKeyDistinctValueDictionary <string, string>() { { "1", "2" }, { "1", "3" }, }; ISet <string> result = dictionary["1"]; Assert.AreEqual(2, result.Count); Assert.IsTrue(result.Contains("2")); Assert.IsTrue(result.Contains("3")); }
public void TryGetValues() { MultiKeyDistinctValueDictionary <string, string> dictionary = new MultiKeyDistinctValueDictionary <string, string>() { { "1", "2" }, { "1", "3" }, { "2", "1" }, { "2", "2" }, }; Assert.IsFalse(dictionary.TryGetValues("bla", out ReadOnlySet <string> values)); Assert.IsTrue(dictionary.TryGetValues("1", out values)); Assert.AreEqual(2, values.Count); Assert.IsTrue(values.Contains("2")); Assert.IsTrue(values.Contains("3")); }
private void InitializeMorphemes(IEnumerable <Morpheme> morphemes) { using (Trace.Entering()) { MorphemeEqualityComparer morphemeEqualityComparer = new MorphemeEqualityComparer(); myLexemes = new MultiKeyDistinctValueDictionary <string, Morpheme>(EqualityComparer <string> .Default, morphemeEqualityComparer); myNonLexemes = new MultiKeyDistinctValueDictionary <string, Morpheme>(EqualityComparer <string> .Default, morphemeEqualityComparer); foreach (Morpheme morpheme in morphemes) { if (morpheme.IsLexeme) { myLexemes.Add(morpheme.Morph, morpheme); } else { myNonLexemes.Add(morpheme.Morph, morpheme); } } } }
public void Remove() { MultiKeyDistinctValueDictionary <string, string> dictionary = new MultiKeyDistinctValueDictionary <string, string>() { { "1", "2" }, { "1", "3" }, { "2", "1" }, { "2", "2" }, }; Assert.IsFalse(dictionary.Remove("bla")); Assert.IsFalse(dictionary.Remove("bla", "blaa")); Assert.IsTrue(dictionary.Remove("1")); Assert.AreEqual(2, dictionary.Count); Assert.IsTrue(dictionary.Contains("2", "1")); Assert.IsTrue(dictionary.Contains("2", "2")); Assert.IsTrue(dictionary.Remove("2", "1")); Assert.AreEqual(1, dictionary.Count); Assert.IsTrue(dictionary.Contains("2", "2")); }