Exemplo n.º 1
0
        public void TestAllPublic()
        {
            ImplicitPublicPOCO foo = new ImplicitPublicPOCO
            {
                ImplicitField  = 101, ExplicitNonPublic = 102, IgnoreDirect = 103,
                IgnoreIndirect = 104, ImplicitNonPublic = 105, ImplicitProperty = 106
            };

            Assert.AreEqual(101, foo.ImplicitField, "ImplicitField: pre");
            Assert.AreEqual(102, foo.ExplicitNonPublic, "ExplicitNonPublic: pre");
            Assert.AreEqual(103, foo.IgnoreDirect, "IgnoreDirect: pre");
            Assert.AreEqual(104, foo.IgnoreIndirect, "IgnoreIndirect: pre");
            Assert.AreEqual(105, foo.ImplicitNonPublic, "ImplicitNonPublic: pre");
            Assert.AreEqual(106, foo.ImplicitProperty, "ImplicitProperty: pre");

            ImplicitPublicPOCO bar = Serializer.DeepClone(foo);

            Assert.AreEqual(101, bar.ImplicitField, "ImplicitField: post");
            Assert.AreEqual(102, bar.ExplicitNonPublic, "ExplicitNonPublic: post");
            Assert.AreEqual(0, bar.IgnoreDirect, "IgnoreDirect: post");
            Assert.AreEqual(0, bar.IgnoreIndirect, "IgnoreIndirect: post");
            Assert.AreEqual(0, bar.ImplicitNonPublic, "ImplicitNonPublic: post");
            Assert.AreEqual(106, bar.ImplicitProperty, "ImplicitProperty: post");

            ImplicitPublicPOCOEquiv equiv = Serializer.ChangeType <ImplicitPublicPOCO, ImplicitPublicPOCOEquiv>(foo);

            Assert.AreEqual(101, equiv.ImplicitField, "ImplicitField: equiv");
            Assert.AreEqual(102, equiv.ExplicitNonPublic, "ExplicitNonPublic: equiv");
            Assert.AreEqual(106, equiv.ImplicitProperty, "ImplicitProperty: equiv");
        }