public void test_add() { CharDictProperty foo = new CharDictProperty(), bar = new CharDictProperty(); CharTextProperty tprop = new CharTextProperty("blah"); CharNumProperty nprop = new CharNumProperty(1.23m); foo.value["Some Text"] = tprop; bar.value["Some Number"] = nprop; foo.add(bar); Assert.AreEqual(foo.value.Count, 2); Assert.IsTrue(foo.value.ContainsKey("Some Text")); Assert.IsTrue(foo.value.ContainsKey("Some Number")); Assert.IsFalse(ReferenceEquals(foo.value["Some Number"], bar.value["Some Number"])); Assert.AreEqual((foo.value["Some Number"] as CharNumProperty).value, (bar.value["Some Number"] as CharNumProperty).value); }