Ejemplo n.º 1
0
        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"]);
        }
Ejemplo n.º 2
0
        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");
        }
Ejemplo n.º 3
0
        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");
        }
Ejemplo n.º 4
0
        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");
        }