コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }