public void AddressSetFieldsOnObject() { var a1 = new Address(typeof(PathAddressData), "a&b"); var pad = new PathAddressData(); a1.SetAddressFields(pad); Assert.AreEqual("a&b", pad.P); var a2 = new Address(typeof(SplitAddressData), "a&001"); var sad = new SplitAddressData(); a2.SetAddressFields(sad); Assert.AreEqual("a", sad.A); Assert.AreEqual(1, sad.B); var a3 = new Address(typeof(SplitAddressData), "a"); var sad2 = new SplitAddressData(); sad2.B = 100; a3.SetAddressFields(sad2); Assert.AreEqual("a", sad2.A); Assert.AreEqual(0, sad2.B); var a4 = new Address(); a4.Type = typeof(SplitAddressData); a4["_1"] = 2; var sad3 = new SplitAddressData(); sad3.A = "hello"; a4.SetAddressFields(sad3); Assert.IsNull(sad3.A); Assert.AreEqual(sad3.B, 2); }
public void AddressSetFieldsOnObject() { var a1 = new Address(typeof(PathAddressData), "a&b"); var pad = new PathAddressData(); a1.SetAddressFields(pad); Assert.Equal("a&b", pad.P); var a2 = new Address(typeof(SplitAddressData), "a&001"); var sad = new SplitAddressData(); a2.SetAddressFields(sad); Assert.Equal("a", sad.A); Assert.Equal(1, sad.B); var a3 = new Address(typeof(SplitAddressData), "a"); var sad2 = new SplitAddressData(); sad2.B = 100; a3.SetAddressFields(sad2); Assert.Equal("a", sad2.A); Assert.Equal(0, sad2.B); var a4dict = new Dictionary <string, object>(); a4dict["_1"] = 2; var a4 = new Address(typeof(SplitAddressData), a4dict); var sad3 = new SplitAddressData(); sad3.A = "hello"; a4.SetAddressFields(sad3); Assert.Null(sad3.A); Assert.Equal(sad3.B, 2); }