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); }