示例#1
0
        public void WeissTest()
        {
            dictionary = new SplayDictionary <int, string>();
            const int NUMS = 40000;
            const int GAP  = 307;

            for (int i = GAP; i != 0; i = (i + GAP) % NUMS)
            {
                dictionary.Add(i, i.ToString());
            }

            for (int i = 1; i < NUMS; i += 2)
            {
                dictionary.Remove(i);
            }

            Assert.AreEqual(new KeyValuePair <int, string>(2, "2"), dictionary.Minimum);
            Assert.AreEqual(new KeyValuePair <int, string>(NUMS - 2, (NUMS - 2).ToString()), dictionary.Maximum);

            for (int i = 2; i < NUMS; i += 2)
            {
                Assert.IsTrue(dictionary.ContainsKey(i));
            }

            for (int i = 1; i < NUMS; i += 2)
            {
                Assert.IsFalse(dictionary.ContainsKey(i));
            }
        }
示例#2
0
        public void RootValueTest()
        {
            var array = new[]
            {
                new KeyValuePair <int, string>(5, "five"),
                new KeyValuePair <int, string>(3, "three"),
                new KeyValuePair <int, string>(7, "seven")
            };

            dictionary = new SplayDictionary <int, string>(array);
            Assert.IsTrue(dictionary.ContainsKey(5));
            Assert.AreEqual("five", dictionary.Root.Value);
            Assert.AreEqual("three", dictionary.Left.Value);
            Assert.AreEqual("seven", dictionary.Right.Value);
            Assert.AreEqual("three", dictionary.Minimum.Value);
            Assert.AreEqual("seven", dictionary.Maximum.Value);
        }
示例#3
0
 public bool Contains(K item)
 {
     return(dictionary.ContainsKey(item));
 }
示例#4
0
        public void ItemTest()
        {
            dictionary    = new SplayDictionary <int, string>();
            dictionary[1] = "one";
            Assert.AreEqual(1, dictionary.Count);
            Assert.IsTrue(dictionary.ContainsKey(1));
            Assert.AreEqual("one", dictionary[1]);

            dictionary[2] = "two";
            Assert.AreEqual(2, dictionary.Count);
            Assert.IsTrue(dictionary.ContainsKey(1));
            Assert.IsTrue(dictionary.ContainsKey(2));
            Assert.AreEqual("one", dictionary[1]);
            Assert.AreEqual("two", dictionary[2]);

            dictionary[2] = "TWO";
            Assert.AreEqual(2, dictionary.Count);
            Assert.IsTrue(dictionary.ContainsKey(1));
            Assert.IsTrue(dictionary.ContainsKey(2));
            Assert.AreEqual("one", dictionary[1]);
            Assert.AreEqual("TWO", dictionary[2]);

            dictionary[3] = "three";
            Assert.AreEqual(3, dictionary.Count);
            Assert.IsTrue(dictionary.ContainsKey(1));
            Assert.IsTrue(dictionary.ContainsKey(2));
            Assert.IsTrue(dictionary.ContainsKey(3));
            Assert.AreEqual("one", dictionary[1]);
            Assert.AreEqual("TWO", dictionary[2]);
            Assert.AreEqual("three", dictionary[3]);

            dictionary[3] = "three";
            Assert.AreEqual(3, dictionary.Count);
            Assert.IsTrue(dictionary.ContainsKey(1));
            Assert.IsTrue(dictionary.ContainsKey(2));
            Assert.IsTrue(dictionary.ContainsKey(3));
            Assert.AreEqual("one", dictionary[1]);
            Assert.AreEqual("TWO", dictionary[2]);
            Assert.AreEqual("three", dictionary[3]);
        }