public void Basic() { CopyOnWriteHashtable c = new CopyOnWriteHashtable(StringComparer.OrdinalIgnoreCase); CopyOnWriteHashtable b = (CopyOnWriteHashtable)c.Clone(); CopyOnWriteHashtable a = (CopyOnWriteHashtable)b.Clone(); c["Foo"] = "Bar"; // Just wrote to 'c' so it should contain data. Assertion.Assert(c.ContainsKey("Foo")); // Writing to a depended upon hashtable should not be visible to the dependents. Assertion.Assert(!a.ContainsKey("Foo")); Assertion.Assert(!b.ContainsKey("Foo")); }