コード例 #1
0
        /// <summary>
        /// 序列化接口测试
        /// </summary>
        /// <returns></returns>
        //[fastCSharp.setup.testCase]
        internal static bool ISerialize()
        {
            serialize value = pub.ClearMember(new serialize()), value1 = new serialize();

            byte[] data1 = value1.Serialize();
            log.Default.Add(data1.joinString(','), false, false);

            serialize value2 = (serialize)value.MemberwiseClone();

            value2.DeSerialize(data1);
            if (!pub.Equals(value1, value2))
            {
                throw new Exception("DeSerialize");
            }

            byte[] data2;
            using (MemoryStream stream = new MemoryStream())
            {
                value1.Serialize(stream);
                if (stream.Length != stream.Position)
                {
                    stream.SetLength(stream.Position);
                }
                data2 = stream.ToArray();
            }
            if (!data1.equal(data2))
            {
                throw new Exception(@"dataSerializer <> streamSerializer
            " + data1.joinString(',') + @"
            " + data2.joinString(','));
            }


            data2 = fastCSharp.setup.cSharp.serialize.dataSerialize.Get(value1);
            if (!data1.equal(data2))
            {
                throw new Exception(@"reflection dataSerialize
            " + data1.joinString(',') + @"
            " + data2.joinString(','));
            }

            data2 = fastCSharp.setup.cSharp.serialize.streamSerialize.Get(value1);
            if (!data1.equal(data2))
            {
                throw new Exception(@"reflection streamSerialize
            " + data1.joinString(',') + @"
            " + data2.joinString(','));
            }

            value2 = fastCSharp.setup.cSharp.serialize.deSerialize.Get <serialize>(data1);
            if (!pub.Equals(value1, value2))
            {
                throw new Exception("reflection deSerialize");
            }

            return(true);
        }
コード例 #2
0
        /// <summary>
        /// 基本类型序列化测试
        /// </summary>
        /// <returns></returns>
        //[fastCSharp.setup.testCase]
        internal static bool MemberSerialize()
        {
            serialize value = new serialize();

            //memberSerialize(value.EnumByte);
            memberSerialize(value.Bool);
            memberSerialize(value.BoolNotNull);
            memberSerialize(value.BoolNull);
            memberSerialize(value.String);
            //memberSerialize(value.EnumByteArray);
            //memberSerialize(value.EnumSByteArray);
            //memberSerialize(value.EnumByteArrayEmpty);
            //memberSerialize(value.EnumSByteArrayEmpty);
            //memberSerialize(value.EnumByteArrayNull);
            //memberSerialize(value.EnumSByteArrayNull);
            memberSerialize(value.BoolArray);
            memberSerialize(value.ByteArray);
            memberSerialize(value.SByteArray);
            memberSerialize(value.DateTimeArray);
            memberSerialize(value.BoolArrayEmpty);
            memberSerialize(value.ByteArrayEmpty);
            memberSerialize(value.SByteArrayEmpty);
            memberSerialize(value.DateTimeArrayEmpty);
            memberSerialize(value.BoolArrayNull);
            memberSerialize(value.ByteArrayNull);
            memberSerialize(value.SByteArrayNull);
            memberSerialize(value.DateTimeArrayNull);
            memberSerialize(value.BoolNullArray);
            memberSerialize(value.ByteNullArray);
            memberSerialize(value.BoolNullArrayEmpty);
            memberSerialize(value.ByteNullArrayEmpty);
            memberSerialize(value.BoolNullArrayNull);
            memberSerialize(value.ByteNullArrayNull);
            memberSerialize(value.StringArray);
            memberSerialize(value.StringArrayEmpty);
            memberSerialize(value.StringArrayNull);
            return(true);
        }