Exemple #1
0
        public void TestClone()
        {
            JsonSerializeSetting c = new JsonSerializeSetting();

            c.IgnoreAttributeType = typeof(string);
            c.SAIN       = new Random().Next(Int32.MinValue, Int32.MaxValue).ToString();
            c.ActionName = new Random().Next(Int32.MinValue, Int32.MaxValue).ToString();
#if NET_40_UP || NETSTANDARD_2_0_UP
            c.AssemblyQualifiedName = new Random().Next(Int32.MinValue, Int32.MaxValue).ToString();
#endif
#if NET || NETSTANDARD_2_0_UP
            c.EnableOnDeserializedAttribute  = !c.EnableOnDeserializedAttribute;
            c.EnableOnDeserializingAttribute = !c.EnableOnDeserializingAttribute;
            c.EnableOnSerializedAttribute    = !c.EnableOnSerializedAttribute;
            c.EnableOnSerializingAttribute   = !c.EnableOnSerializingAttribute;
#endif
            foreach (string name in Enum.GetNames(typeof(SerializeMemberType)))
            {
                SerializeMemberType t = (SerializeMemberType)Enum.Parse(typeof(SerializeMemberType), name);
                if (c.MemberType != t)
                {
                    c.MemberType = t;
                }
            }
            foreach (string name in Enum.GetNames(typeof(DateTimeSerializationMode)))
            {
                DateTimeSerializationMode t =
                    (DateTimeSerializationMode)Enum.Parse(typeof(DateTimeSerializationMode), name);
                if (c.Mode != t)
                {
                    c.Mode = t;
                }
            }
            foreach (string name in Enum.GetNames(typeof(SerializeMemberModifier)))
            {
                SerializeMemberModifier t = (SerializeMemberModifier)Enum.Parse(typeof(SerializeMemberModifier), name);
                if (c.Modifier != t)
                {
                    c.Modifier = t;
                }
            }
            c.SerializeDefalutValue = !c.SerializeDefalutValue;
            c.ActionName            = new Random().Next(Int32.MinValue, Int32.MaxValue).ToString();

            JsonSerializeSetting c_new = c.Clone() as JsonSerializeSetting;
            PropertyInfo[]       pis   = typeof(JsonSerializeSetting).GetProperties();
            foreach (PropertyInfo pi in pis)
            {
                Assert.AreEqual(pi.GetValue(c, null), pi.GetValue(c_new, null));
            }
        }
        private static XmlDateTimeSerializationMode Convert(DateTimeSerializationMode pMode)
        {
            switch (pMode)
            {
            case DateTimeSerializationMode.Local:
                return(XmlDateTimeSerializationMode.Local);

            case DateTimeSerializationMode.RoundtripKind:
                return(XmlDateTimeSerializationMode.RoundtripKind);

            case DateTimeSerializationMode.Unspecified:
                return(XmlDateTimeSerializationMode.Unspecified);

            case DateTimeSerializationMode.Utc:
                return(XmlDateTimeSerializationMode.Utc);
            }
            throw new NotImplementedException();
        }