public void AcceptsNonStringKeys() { CaseInsensitiveHashtable st = new CaseInsensitiveHashtable(); object key = new object(); st.Add(key, "value"); Assert.AreEqual(1, st.Count); Assert.AreEqual("value", st[key]); Assert.IsNull(st[new object()]); }
public void IgnoresCase() { CaseInsensitiveHashtable st = new CaseInsensitiveHashtable(); st.Add("key", "value"); Assert.AreEqual("value", st["KEY"]); st["KeY"] = "value2"; Assert.AreEqual(1, st.Count); Assert.AreEqual("value2", st["key"]); try { st.Add("KEY", "value2"); Assert.Fail(); } catch (ArgumentException) { } Hashtable ht = new Hashtable(); ht.Add("key", "value"); ht.Add("KEY", "value"); try { st = new CaseInsensitiveHashtable(ht, CultureInfo.InvariantCulture); Assert.Fail(); } catch (ArgumentException) { } }
public void IsSerializable() { CaseInsensitiveHashtable storiginal = new CaseInsensitiveHashtable(); storiginal.Add("key", "value"); CaseInsensitiveHashtable st = (CaseInsensitiveHashtable)SerializeDeserializeObject(storiginal); Assert.AreNotSame(storiginal, st); Assert.AreEqual("value", st["KEY"]); Assert.AreEqual(1, st.Count); }