public void ClearInverse() { var lookup = new BidirectionalLookup <string, string>(); lookup.Add("foo", "bar"); lookup.Clear(); Assert.AreEqual(0, lookup.Count); Assert.AreEqual(0, lookup.Inverse.Count); Assert.IsFalse(lookup.Contains("foo")); CollectionAssert.IsEmpty(lookup["foo"]); CollectionAssert.IsEmpty(lookup.Inverse["bar"]); }
public void AddInverse() { var lookup = new BidirectionalLookup <string, string>(); lookup.Add("foo", "bar"); lookup.Add("foo", "baz"); lookup.Add("baz", "bar"); Assert.AreEqual(2, lookup.Count); Assert.AreEqual(2, lookup.Count); Assert.IsTrue(lookup.Contains("foo")); Assert.IsTrue(lookup.Contains("baz")); Assert.IsFalse(lookup.Contains("bar")); Assert.IsFalse(lookup.Inverse.Contains("foo")); Assert.IsTrue(lookup.Inverse.Contains("bar")); Assert.IsTrue(lookup.Inverse.Contains("baz")); CollectionAssert.Contains(lookup["foo"], "bar"); CollectionAssert.Contains(lookup["foo"], "baz"); CollectionAssert.Contains(lookup.Inverse["bar"], "foo"); CollectionAssert.Contains(lookup.Inverse["bar"], "baz"); CollectionAssert.Contains(lookup["baz"], "bar"); }
public void AddCustomValueComparer() { var comparer = new DelegatedEqualityComparer <string, int> (s => s.Length); var lookup = new BidirectionalLookup <string, string> (comparer, comparer); lookup.Add("foo", "bar1"); lookup.Add("bar", "baz1"); Assert.IsTrue(lookup.Contains("baz")); Assert.IsTrue(lookup.Inverse.Contains("foo1")); CollectionAssert.Contains(lookup["foo"], "bar1"); CollectionAssert.Contains(lookup["foo"], "baz1"); CollectionAssert.Contains(lookup["bar"], "bar1"); CollectionAssert.Contains(lookup["bar"], "bar1"); }
public void RemoveKeyInverse() { var lookup = new BidirectionalLookup <string, string>(); lookup.Add("baz", "bar"); lookup.Add("foo", "bar"); lookup.Add("foo", "baz"); lookup.Inverse.Remove("bar"); Assert.IsFalse(lookup.Contains("baz")); Assert.IsFalse(lookup.Inverse.Contains("bar")); CollectionAssert.Contains(lookup["foo"], "baz"); CollectionAssert.DoesNotContain(lookup["foo"], "bar"); CollectionAssert.IsEmpty(lookup["baz"]); CollectionAssert.IsEmpty(lookup.Inverse["bar"]); CollectionAssert.Contains(lookup.Inverse["baz"], "foo"); }