예제 #1
0
        public void Basics()
        {
            var d = new HyperDictionary <string, int>(3)
            {
                { 1, "Foo", "Blah", "Blubb" },
                { 2, "Bar", "Blah", "Blubb" },
                { 3, "Baz", "Blah", "Blubb" }
            };

            Assert.AreEqual(1, d["Foo", "Blah", "Blubb"]);
            Assert.AreEqual(2, d["Bar", "Blah", "Blubb"]);
            Assert.AreEqual(3, d["Baz", "Blah", "Blubb"]);

            Assert.ThrowsException <ArgumentException>(() => d.Add(3, "Baz", "Blah", "Blubb"));
            d["Baz", "Blah", "Blubb"] = 4;
            Assert.AreEqual(4, d["Baz", "Blah", "Blubb"]);
            Assert.ThrowsException <KeyNotFoundException>(() => d["a", "b", "c"]);

            Assert.AreEqual(3, d.Count);
            d.Clear();
            Assert.AreEqual(0, d.Count);
        }