public void test_equals() { CharDictProperty foo = new CharDictProperty(), bar, baz = new CharDictProperty(); CharTextProperty tprop = new CharTextProperty("blah"); CharNumProperty nprop = new CharNumProperty(1.23m); CharSetProperty sprop = new CharSetProperty(); sprop.value.Add("bloh"); sprop.value.Add("bleh"); foo.value["Some Text"] = tprop; foo.value["Some Number"] = nprop; foo.value["Some Collection"] = sprop; bar = foo.copy(); baz.value["Some Text"] = tprop; Assert.IsTrue(foo.equals(bar)); Assert.IsTrue(bar.equals(foo)); Assert.IsFalse(foo.equals(baz)); Assert.IsFalse(baz.equals(foo)); }