| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| using System; |
| using System.Collections; |
| using System.Collections.Generic; |
| using System.Text; |
| using Apache.Geode.Client; |
| using Apache.Geode.Client.Internal; |
| |
| namespace PdxVersionTests |
| { |
| public enum pdxEnumTest { pdx1, pdx2, pdx3 }; |
| public class PdxTypes1 : IPdxSerializable |
| { |
| static int m_diffInSameFields = 0; |
| static int m_diffInExtraFields = 0; |
| static bool m_useWeakHashMap; |
| IPdxUnreadFields m_pdxUnreadFields; |
| int m_i1 = 34324; |
| int m_i2 = 2144; |
| int m_i3 = 4645734; |
| int m_i4 = 73567; |
| int m_i5 = 0; |
| int m_i6 = 0; |
| |
| public PdxTypes1() |
| { |
| |
| } |
| |
| public static IPdxSerializable CreateDeserializable() |
| { |
| return new PdxTypes1(); |
| } |
| public static void Reset(bool useWeakHashmap) |
| { |
| m_diffInSameFields = 0; |
| m_diffInExtraFields = 0; |
| m_useWeakHashMap = useWeakHashmap; |
| } |
| public override int GetHashCode() |
| { |
| return base.GetHashCode(); |
| } |
| public override string ToString() |
| { |
| return "PdxTypes1 version1 " + m_i1 + " :" + m_i2 + " :" + m_i3 + " :" + m_i4 + " :" + m_i5 + " :" + m_i6 + " : m_diffInExtraFields:" + m_diffInExtraFields; |
| } |
| public override bool Equals(object obj) |
| { |
| if (obj == null) |
| return false; |
| PdxTypes1 pap = obj as PdxTypes1; |
| |
| if (pap == null) |
| return false; |
| |
| if (pap == this) |
| return true; |
| |
| if (m_i1 + m_diffInSameFields <= pap.m_i1 |
| && m_i2 + m_diffInSameFields <= pap.m_i2 |
| && m_i3 + m_diffInSameFields <= pap.m_i3 |
| && m_i4 + m_diffInSameFields <= pap.m_i4 |
| && m_i5 + m_diffInExtraFields == pap.m_i5 |
| && m_i6 + m_diffInExtraFields == pap.m_i6) |
| return true; |
| |
| return false; |
| } |
| |
| #region IPdxSerializable Members |
| |
| public void FromData(IPdxReader reader) |
| { |
| m_i1 = reader.ReadInt("i1"); |
| bool isIdentity = reader.IsIdentityField("i2"); |
| if (isIdentity) |
| throw new System.Exception("i2 is not identity field"); |
| //TODO: need to talk to |
| |
| //isIdentity = reader.IsIdentityField("i1"); |
| //if (!isIdentity) |
| // throw new System.Exception("i1 is identity field"); |
| if (!m_useWeakHashMap) |
| m_pdxUnreadFields = reader.ReadUnreadFields(); |
| m_i2 = reader.ReadInt("i2"); |
| m_i3 = reader.ReadInt("i3"); |
| m_i4 = reader.ReadInt("i4"); |
| m_i5 = reader.ReadInt("i5"); |
| m_i6 = reader.ReadInt("i6"); |
| } |
| |
| public void ToData(IPdxWriter writer) |
| { |
| if (!m_useWeakHashMap) |
| writer.WriteUnreadFields(m_pdxUnreadFields); |
| writer.WriteInt("i1", m_i1 + 1); |
| writer.MarkIdentityField("i1"); |
| writer.WriteInt("i2", m_i2 + 1); |
| writer.WriteInt("i3", m_i3 + 1); |
| writer.WriteInt("i4", m_i4 + 1); |
| writer.WriteInt("i5", m_i5 + 1); |
| writer.WriteInt("i6", m_i6 + 1); |
| |
| m_diffInSameFields++; |
| m_diffInExtraFields++; |
| } |
| |
| #endregion |
| } |
| |
| public class PdxTypes2 : IPdxSerializable |
| { |
| static int m_diffInSameFields = 0; |
| static int m_diffInExtraFields = 0; |
| static bool m_useWeakHashMap; |
| IPdxUnreadFields m_pdxUnreadFields; |
| int m_i1 = 34324; |
| int m_i2 = 2144; |
| int m_i3 = 4645734; |
| int m_i4 = 73567; |
| int m_i5 = 0; |
| int m_i6 = 0; |
| |
| public PdxTypes2() |
| { |
| |
| } |
| |
| public static IPdxSerializable CreateDeserializable() |
| { |
| return new PdxTypes2(); |
| } |
| public static void Reset(bool useWeakHashmap) |
| { |
| m_diffInSameFields = 0; |
| m_diffInExtraFields = 0; |
| m_useWeakHashMap = useWeakHashmap; |
| } |
| public override int GetHashCode() |
| { |
| return base.GetHashCode(); |
| } |
| public override string ToString() |
| { |
| return m_i1 + " :" + m_i2 + " :" + m_i3 + " :" + m_i4 + " :" + m_i5 + " :" + m_i6; |
| } |
| public override bool Equals(object obj) |
| { |
| if (obj == null) |
| return false; |
| PdxTypes2 pap = obj as PdxTypes2; |
| |
| if (pap == null) |
| return false; |
| |
| if (pap == this) |
| return true; |
| |
| if (m_i1 + m_diffInSameFields <= pap.m_i1 |
| && m_i2 + m_diffInSameFields <= pap.m_i2 |
| && m_i3 + m_diffInSameFields <= pap.m_i3 |
| && m_i4 + m_diffInSameFields <= pap.m_i4 |
| && m_i5 + m_diffInExtraFields == pap.m_i5 |
| && m_i6 + m_diffInExtraFields == pap.m_i6) |
| return true; |
| |
| return false; |
| } |
| |
| #region IPdxSerializable Members |
| |
| public void FromData(IPdxReader reader) |
| { |
| if (!m_useWeakHashMap) |
| m_pdxUnreadFields = reader.ReadUnreadFields(); |
| m_i1 = reader.ReadInt("i1"); |
| m_i2 = reader.ReadInt("i2"); |
| m_i5 = reader.ReadInt("i5"); |
| m_i6 = reader.ReadInt("i6"); |
| m_i3 = reader.ReadInt("i3"); |
| m_i4 = reader.ReadInt("i4"); |
| } |
| |
| public void ToData(IPdxWriter writer) |
| { |
| if (!m_useWeakHashMap) |
| writer.WriteUnreadFields(m_pdxUnreadFields); |
| writer.WriteInt("i1", m_i1 + 1); |
| writer.WriteInt("i2", m_i2 + 1); |
| writer.WriteInt("i5", m_i5 + 1); |
| writer.WriteInt("i6", m_i6 + 1); |
| writer.WriteInt("i3", m_i3 + 1); |
| writer.WriteInt("i4", m_i4 + 1); |
| |
| m_diffInExtraFields++; |
| m_diffInSameFields++; |
| } |
| |
| #endregion |
| } |
| |
| public class PdxTypes3 : IPdxSerializable |
| { |
| static int m_diffInSameFields = 0; |
| static int m_diffInExtraFields = 0; |
| static bool m_useWeakHashMap; |
| IPdxUnreadFields m_pdxUnreadFields; |
| |
| int m_i1 = 1; |
| int m_i2 = 21; |
| string m_str1 = "common"; |
| int m_i4 = 41; |
| int m_i3 = 31; |
| int m_i6 = 0; |
| string m_str3 = "0"; |
| |
| public PdxTypes3() |
| { |
| |
| } |
| |
| public static IPdxSerializable CreateDeserializable() |
| { |
| return new PdxTypes3(); |
| } |
| public static void Reset(bool useWeakHashmap) |
| { |
| m_diffInSameFields = 0; |
| m_diffInExtraFields = 0; |
| m_useWeakHashMap = useWeakHashmap; |
| } |
| public override int GetHashCode() |
| { |
| return base.GetHashCode(); |
| } |
| public override string ToString() |
| { |
| return m_i1 + " :" + m_i2 + " :" + m_i3 + " :" + m_i4 + " :" + m_i6 + " : " + (m_str1 == null ? "null" : m_str1) + " :" + (m_str3 == null ? "null" : m_str3) + " m_diffInExtraFields:" + m_diffInExtraFields; |
| } |
| public override bool Equals(object obj) |
| { |
| if (obj == null) |
| return false; |
| PdxTypes3 pap = obj as PdxTypes3; |
| |
| if (pap == null) |
| return false; |
| |
| if (pap == this) |
| return true; |
| |
| if (m_i1 + m_diffInSameFields <= pap.m_i1 |
| && m_i2 + m_diffInSameFields <= pap.m_i2 |
| && m_i3 + m_diffInSameFields <= pap.m_i3 |
| && m_i4 + m_diffInSameFields <= pap.m_i4 |
| && m_i6 + m_diffInExtraFields == pap.m_i6) |
| { |
| if (m_str1 == pap.m_str1) |
| { |
| if(string.Compare(m_str3, pap.m_str3) <= 0) |
| return true; |
| } |
| } |
| |
| return false; |
| } |
| |
| #region IPdxSerializable Members |
| |
| public void FromData(IPdxReader reader) |
| { |
| if (!m_useWeakHashMap) |
| m_pdxUnreadFields = reader.ReadUnreadFields(); |
| m_i1 = reader.ReadInt("i1"); |
| m_i2 = reader.ReadInt("i2"); |
| m_str1 = reader.ReadString("m_str1"); |
| m_i4 = reader.ReadInt("i4"); |
| m_i3 = reader.ReadInt("i3"); |
| m_i6 = reader.ReadInt("i6"); |
| string tmp = reader.ReadString("m_str3"); |
| |
| if (tmp == null) |
| { |
| m_str3 = m_diffInExtraFields.ToString() ; |
| } |
| else |
| { |
| m_str3 = m_diffInExtraFields + m_str3; |
| } |
| } |
| |
| public void ToData(IPdxWriter writer) |
| { |
| if (!m_useWeakHashMap) |
| writer.WriteUnreadFields(m_pdxUnreadFields); |
| writer.WriteInt("i1", m_i1 + 1); |
| writer.WriteInt("i2", m_i2 + 1); |
| writer.WriteString("m_str1", m_str1); |
| writer.WriteInt("i4", m_i4 + 1); |
| writer.WriteInt("i3", m_i3 + 1); |
| writer.WriteInt("i6", m_i6 + 1); |
| writer.WriteString("m_str3", m_str3); |
| |
| m_diffInExtraFields++; |
| m_diffInSameFields++; |
| } |
| |
| #endregion |
| } |
| |
| |
| #region Version two first |
| |
| public class PdxTypesR1 : IPdxSerializable |
| { |
| static int m_diffInSameFields = 0; |
| static int m_diffInExtraFields = 0; |
| static bool m_useWeakHashMap; |
| IPdxUnreadFields m_pdxUnreadFields; |
| |
| int m_i1 = 34324; |
| int m_i2 = 2144; |
| int m_i3 = 4645734; |
| int m_i4 = 73567; |
| |
| //both are not in version one |
| int m_i5 = 721398; |
| int m_i6 = 45987; |
| |
| public PdxTypesR1() |
| { |
| |
| } |
| |
| public static void Reset(bool useWeakHashmap) |
| { |
| m_diffInSameFields = 0; |
| m_diffInExtraFields = 0; |
| m_useWeakHashMap = useWeakHashmap; |
| } |
| public static IPdxSerializable CreateDeserializable() |
| { |
| return new PdxTypesR1(); |
| } |
| |
| public override int GetHashCode() |
| { |
| return base.GetHashCode(); |
| } |
| public override bool Equals(object newobj) |
| { |
| Console.WriteLine(" in v2 " + m_diffInSameFields + " :" + m_diffInExtraFields); |
| if (newobj == null) |
| return false; |
| PdxTypesR1 pap = newobj as PdxTypesR1; |
| |
| if (pap == null) |
| return false; |
| |
| if (pap == this) |
| return true; |
| |
| if (m_i1 + m_diffInSameFields <= pap.m_i1 |
| && m_i2 + m_diffInSameFields <= pap.m_i2 |
| && m_i3 + m_diffInSameFields <= pap.m_i3 |
| && m_i4 + m_diffInSameFields <= pap.m_i4) |
| { |
| if (m_i5 + m_diffInExtraFields == pap.m_i5 |
| && m_i6 + m_diffInExtraFields == pap.m_i6 |
| || |
| m_diffInExtraFields == pap.m_i5 |
| && m_diffInExtraFields == pap.m_i6 |
| ) |
| return true; |
| } |
| |
| return false; |
| } |
| |
| public override string ToString() |
| { |
| return m_i1 + " :" + m_i2 + " :" + m_i3 + " :" + m_i4 + " :" + m_i5 + " :" + m_i6; |
| } |
| |
| #region IPdxSerializable Members |
| |
| public void FromData(IPdxReader reader) |
| { |
| if (!m_useWeakHashMap) |
| m_pdxUnreadFields = reader.ReadUnreadFields(); |
| m_i1 = reader.ReadInt("i1"); |
| m_i2 = reader.ReadInt("i2"); |
| m_i3 = reader.ReadInt("i3"); |
| m_i4 = reader.ReadInt("i4"); |
| |
| m_i5 = reader.ReadInt("i5"); |
| m_i6 = reader.ReadInt("i6"); |
| } |
| |
| public void ToData(IPdxWriter writer) |
| { |
| if (!m_useWeakHashMap) |
| writer.WriteUnreadFields(m_pdxUnreadFields); |
| writer.WriteInt("i1", m_i1 + 1); |
| writer.WriteInt("i2", m_i2 + 1); |
| writer.WriteInt("i3", m_i3 + 1); |
| writer.WriteInt("i4", m_i4 + 1); |
| |
| writer.WriteInt("i5", m_i5 + 1); |
| writer.WriteInt("i6", m_i6 + 1); |
| |
| m_diffInSameFields++;//increase by one |
| m_diffInExtraFields++; |
| } |
| |
| #endregion |
| } |
| |
| public class PdxTypesR2 : IPdxSerializable |
| { |
| static int m_diffInSameFields = 0; |
| static int m_diffInExtraFields = 0; |
| static bool m_useWeakHashMap; |
| IPdxUnreadFields m_pdxUnreadFields; |
| int m_i1 = 34324; |
| int m_i2 = 2144; |
| int m_i3 = 4645734; |
| int m_i4 = 73567; |
| int m_i5 = 798243; |
| int m_i6 = 9900; |
| string m_str1 = "0"; |
| |
| public PdxTypesR2() |
| { |
| |
| } |
| |
| public static IPdxSerializable CreateDeserializable() |
| { |
| return new PdxTypesR2(); |
| } |
| public static void Reset(bool useWeakHashmap) |
| { |
| m_diffInSameFields = 0; |
| m_diffInExtraFields = 0; |
| m_useWeakHashMap = useWeakHashmap; |
| } |
| public override int GetHashCode() |
| { |
| return base.GetHashCode(); |
| } |
| public override string ToString() |
| { |
| return m_i1 + " :" + m_i2 + " :" + m_i3 + " :" + m_i4 + " :" + m_i5 + " :" + m_i6 + " : " + m_str1; |
| } |
| public override bool Equals(object obj) |
| { |
| if (obj == null) |
| return false; |
| PdxTypesR2 pap = obj as PdxTypesR2; |
| |
| if (pap == null) |
| return false; |
| if (pap == this) |
| return true; |
| |
| if (m_i1 + m_diffInSameFields <= pap.m_i1 |
| && m_i2 + m_diffInSameFields <= pap.m_i2 |
| && m_i3 + m_diffInSameFields <= pap.m_i3 |
| && m_i4 + m_diffInSameFields <= pap.m_i4 |
| ) |
| { |
| if (pap.m_str1 == m_diffInExtraFields.ToString()) |
| { |
| if (m_i5 + m_diffInExtraFields == pap.m_i5 |
| && m_i6 + m_diffInExtraFields == pap.m_i6) |
| return true; |
| } |
| } |
| |
| return false; |
| } |
| |
| #region IPdxSerializable Members |
| |
| public void FromData(IPdxReader reader) |
| { |
| if (!m_useWeakHashMap) |
| m_pdxUnreadFields = reader.ReadUnreadFields(); |
| m_i1 = reader.ReadInt("i1"); |
| m_i2 = reader.ReadInt("i2"); |
| m_i5 = reader.ReadInt("i5"); |
| m_i6 = reader.ReadInt("i6"); |
| m_i3 = reader.ReadInt("i3"); |
| m_i4 = reader.ReadInt("i4"); |
| m_str1 = reader.ReadString("m_str1"); |
| } |
| |
| public void ToData(IPdxWriter writer) |
| { |
| if (!m_useWeakHashMap) |
| writer.WriteUnreadFields(m_pdxUnreadFields); |
| writer.WriteInt("i1", m_i1 + 1); |
| writer.WriteInt("i2", m_i2 + 1); |
| writer.WriteInt("i5", m_i5 + 1); |
| writer.WriteInt("i6", m_i6 + 1); |
| writer.WriteInt("i3", m_i3 + 1); |
| writer.WriteInt("i4", m_i4 + 1); |
| |
| |
| m_diffInExtraFields++; |
| m_diffInSameFields++; |
| |
| writer.WriteString("m_str1", m_diffInExtraFields.ToString()); |
| |
| } |
| |
| #endregion |
| } |
| #endregion |
| |
| #region PdxIgnoreUnreadField test |
| |
| public class PdxTypesIgnoreUnreadFields : IPdxSerializable |
| { |
| static int m_diffInSameFields = 0; |
| static int m_diffInExtraFields = 0; |
| static bool m_useWeakHashMap; |
| IPdxUnreadFields m_pdxUnreadFields; |
| int m_i1 = 34324; |
| int m_i2 = 2144; |
| int m_i3 = 4645734; |
| int m_i4 = 73567; |
| int m_i5 = 0; |
| int m_i6 = 0; |
| |
| public PdxTypesIgnoreUnreadFields() |
| { |
| |
| } |
| |
| public static IPdxSerializable CreateDeserializable() |
| { |
| return new PdxTypesIgnoreUnreadFields(); |
| } |
| public static void Reset(bool useWeakHashmap) |
| { |
| m_diffInSameFields = 0; |
| m_diffInExtraFields = 0; |
| m_useWeakHashMap = useWeakHashmap; |
| } |
| public override int GetHashCode() |
| { |
| return base.GetHashCode(); |
| } |
| public override string ToString() |
| { |
| return m_i1 + " :" + m_i2 + " :" + m_i3 + " :" + m_i4 + " :" + m_i5 + " :" + m_i6; |
| } |
| public override bool Equals(object obj) |
| { |
| if (obj == null) |
| return false; |
| PdxTypesIgnoreUnreadFields pap = obj as PdxTypesIgnoreUnreadFields; |
| |
| if (pap == null) |
| return false; |
| |
| if (pap == this) |
| return true; |
| |
| if (m_i1 + m_diffInSameFields <= pap.m_i1 |
| && m_i2 + m_diffInSameFields <= pap.m_i2 |
| && m_i3 + m_diffInSameFields <= pap.m_i3 |
| && m_i4 + m_diffInSameFields <= pap.m_i4 |
| && m_i5 == pap.m_i5 |
| && m_i6 == pap.m_i6) |
| return true; |
| |
| return false; |
| } |
| |
| #region IPdxSerializable Members |
| |
| public void FromData(IPdxReader reader) |
| { |
| m_i1 = reader.ReadInt("i1"); |
| bool isIdentity = reader.IsIdentityField("i2"); |
| if (isIdentity) |
| throw new System.Exception("i2 is not identity field"); |
| //TODO: need to talk to |
| |
| //isIdentity = reader.IsIdentityField("i1"); |
| //if (!isIdentity) |
| // throw new System.Exception("i1 is identity field"); |
| if (!m_useWeakHashMap) |
| m_pdxUnreadFields = reader.ReadUnreadFields(); |
| m_i2 = reader.ReadInt("i2"); |
| m_i3 = reader.ReadInt("i3"); |
| m_i4 = reader.ReadInt("i4"); |
| m_i5 = reader.ReadInt("i5"); |
| m_i6 = reader.ReadInt("i6"); |
| } |
| |
| public void ToData(IPdxWriter writer) |
| { |
| if (!m_useWeakHashMap) |
| writer.WriteUnreadFields(m_pdxUnreadFields); |
| writer.WriteInt("i1", m_i1 + 1); |
| writer.MarkIdentityField("i1"); |
| writer.WriteInt("i2", m_i2 + 1); |
| writer.WriteInt("i3", m_i3 + 1); |
| writer.WriteInt("i4", m_i4 + 1); |
| writer.WriteInt("i5", m_diffInExtraFields); |
| writer.WriteInt("i6", m_diffInExtraFields); |
| m_i5 = m_diffInExtraFields; |
| m_i6 = m_diffInExtraFields; |
| m_diffInSameFields++; |
| m_diffInExtraFields++; |
| } |
| |
| #endregion |
| } |
| /* [Serializable] |
| public class PdxVersioned : IPdxSerializable |
| { |
| char m_char; |
| bool m_bool; |
| sbyte m_byte; |
| sbyte m_sbyte; |
| short m_int16; |
| short m_uint16; |
| Int32 m_int32; |
| Int32 m_uint32; |
| long m_long; |
| Int64 m_ulong; |
| float m_float; |
| double m_double; |
| |
| string m_string; |
| |
| bool[] m_boolArray; |
| byte[] m_byteArray; |
| byte[] m_sbyteArray; |
| |
| char[] m_charArray; |
| |
| DateTime m_dateTime; |
| |
| Int16[] m_int16Array; |
| Int16[] m_uint16Array; |
| |
| Int32[] m_int32Array; |
| Int32[] m_uint32Array; |
| |
| long[] m_longArray; |
| Int64[] m_ulongArray; |
| |
| float[] m_floatArray; |
| double[] m_doubleArray; |
| |
| byte[][] m_byteByteArray; |
| |
| string[] m_stringArray; |
| |
| IDictionary<object, object> m_map = new Dictionary<object, object>(); |
| List<object> m_list = new List<object>(); |
| |
| byte[] m_byte252 = new byte[252]; |
| byte[] m_byte253 = new byte[253]; |
| byte[] m_byte65535 = new byte[65535]; |
| byte[] m_byte65536 = new byte[65536]; |
| |
| |
| static Random _random = new Random(); |
| public static char GetLetter() |
| { |
| // This method returns a random lowercase letter. |
| // ... Between 'a' and 'z' inclusize. |
| int num = _random.Next(0, 26); // Zero to 25 |
| char let = (char)('a' + num); |
| return let; |
| } |
| public void Init(int size) |
| { |
| |
| m_char = GetLetter(); |
| |
| //m_char = 'C'; |
| m_bool = true; |
| m_byte = 0x74; |
| m_sbyte = 0x67; |
| m_int16 = 0xab; |
| m_uint16 = 0x2dd5; |
| m_int32 = 0x2345abdc; |
| m_uint32 = 0x2a65c434; |
| m_long = 324897980; |
| m_ulong = 238749898; |
| m_float = 23324.324f; |
| m_double = 3243298498d; |
| |
| m_string = "gfestring"; |
| |
| m_boolArray = new bool[] { true, false, true }; |
| m_byteArray = new byte[] { 0x34, 0x64 }; |
| m_sbyteArray = new byte[] { 0x34, 0x64 }; |
| |
| m_charArray = new char[] { 'c', 'v' }; |
| |
| long ticks = 837498372498L; |
| m_dateTime = new DateTime(ticks); |
| Console.WriteLine(m_dateTime.Ticks); |
| |
| m_int16Array = new short[size]; |
| m_uint16Array = new short[size]; |
| |
| m_int32Array = new int[size]; |
| m_uint32Array = new int[size]; |
| |
| m_longArray = new long[size]; |
| m_ulongArray = new Int64[size]; |
| |
| m_floatArray = new float[size]; |
| m_doubleArray = new double[size]; |
| |
| m_byteByteArray = new byte[][]{new byte[] {0x23}, |
| new byte[]{0x34, 0x55} |
| }; |
| |
| m_stringArray = new string[size]; |
| |
| m_map = new Dictionary<object, object>(); |
| m_list = new List<object>(); |
| for(int i=0;i<size;i++){ |
| m_int16Array[i] = 0x2332; |
| m_uint16Array[i] = 0x3243; |
| m_int32Array[i] = 34343+i; |
| m_uint32Array[i] = 324324 + i; |
| m_longArray[i] = 324324L + i; |
| m_ulongArray[i] = 3245435 + i; |
| m_floatArray[i] = 232.565f + i; |
| m_doubleArray[i] = 23423432d + i; |
| m_stringArray[i] = String.Format("one{0}", i); |
| m_map.Add(i+1, 1+1); |
| m_list.Add(i+1); |
| } |
| |
| } |
| |
| public PdxVersioned(int size) |
| { |
| Init(size); |
| Console.WriteLine("PdxVersioned 2"); |
| } |
| public PdxVersioned() |
| { |
| |
| } |
| public static IPdxSerializable CreateDeserializable() |
| { |
| return new PdxVersioned(); |
| } |
| public override string ToString() |
| { |
| return "PdxVersioned 2: " + m_char.ToString(); |
| } |
| public void FromData(IPdxReader reader) |
| { |
| |
| //m_byteByteArray = reader.ReadArrayOfByteArrays("m_byteByteArray"); |
| |
| m_char = reader.ReadChar("m_char"); |
| |
| m_bool = reader.ReadBoolean("m_bool"); |
| m_boolArray = reader.ReadBooleanArray("m_boolArray"); |
| m_byte = reader.ReadByte("m_byte"); |
| m_byteArray = reader.ReadByteArray("m_byteArray"); |
| m_charArray = reader.ReadCharArray("m_charArray"); |
| //List<object> tmpl = new List<object>(); |
| //tmpl = (List<object>)reader.ReadObject("m_list"); |
| //m_list = compareCompareCollection(tmpl, m_list); |
| m_string = reader.ReadString("m_string"); |
| |
| m_dateTime = reader.ReadDate("m_dateTime"); |
| |
| m_double = reader.ReadDouble("m_double"); |
| |
| m_doubleArray = reader.ReadDoubleArray("m_doubleArray"); |
| m_float = reader.ReadFloat("m_float"); |
| m_floatArray = reader.ReadFloatArray("m_floatArray"); |
| m_int16 = reader.ReadShort("m_int16"); |
| m_int32 = reader.ReadInt("m_int32"); |
| m_long = reader.ReadLong("m_long"); |
| m_int32Array = reader.ReadIntArray("m_int32Array"); |
| m_longArray = reader.ReadLongArray("m_longArray"); |
| m_int16Array = reader.ReadShortArray("m_int16Array"); |
| m_sbyte = reader.ReadByte("m_sbyte"); |
| m_sbyteArray = reader.ReadByteArray("m_sbyteArray"); |
| m_stringArray = reader.ReadStringArray("m_stringArray"); |
| m_uint16 = reader.ReadShort("m_uint16"); |
| m_uint32 = reader.ReadInt("m_uint32"); |
| m_ulong = reader.ReadLong("m_ulong"); |
| m_uint32Array = reader.ReadIntArray("m_uint32Array"); |
| m_ulongArray = reader.ReadLongArray("m_ulongArray"); |
| m_uint16Array = reader.ReadShortArray("m_uint16Array"); |
| |
| byte[] ret = reader.ReadByteArray("m_byte252"); |
| if (ret.Length != 252) |
| throw new Exception("Array len 252 not found"); |
| |
| ret = reader.ReadByteArray("m_byte253"); |
| if (ret.Length != 253) |
| throw new Exception("Array len 253 not found"); |
| |
| ret = reader.ReadByteArray("m_byte65535"); |
| if (ret.Length != 65535) |
| throw new Exception("Array len 65535 not found"); |
| |
| ret = reader.ReadByteArray("m_byte65536"); |
| if (ret.Length != 65536) |
| throw new Exception("Array len 65536 not found"); |
| |
| } |
| |
| public void ToData(IPdxWriter writer) |
| { |
| //writer.WriteArrayOfByteArrays("m_byteByteArray", m_byteByteArray); |
| writer.WriteChar("m_char", m_char); |
| |
| writer.WriteBoolean("m_bool", m_bool); |
| writer.WriteBooleanArray("m_boolArray", m_boolArray); |
| writer.WriteByte("m_byte", m_byte); |
| writer.WriteByteArray("m_byteArray", m_byteArray); |
| writer.WriteCharArray("m_charArray", m_charArray); |
| //writer.WriteCollection("m_list", m_list); |
| //writer.WriteObject("m_list", m_list); |
| writer.WriteString("m_string", m_string); |
| writer.WriteDate("m_dateTime", m_dateTime); |
| writer.WriteDouble("m_double", m_double); |
| writer.WriteDoubleArray("m_doubleArray", m_doubleArray); |
| writer.WriteFloat("m_float", m_float); |
| writer.WriteFloatArray("m_floatArray", m_floatArray); |
| writer.WriteShort("m_int16", m_int16); |
| writer.WriteInt("m_int32", m_int32); |
| writer.WriteLong("m_long", m_long); |
| writer.WriteIntArray("m_int32Array", m_int32Array); |
| writer.WriteLongArray("m_longArray", m_longArray); |
| writer.WriteShortArray("m_int16Array", m_int16Array); |
| writer.WriteByte("m_sbyte", m_sbyte); |
| writer.WriteByteArray("m_sbyteArray", m_sbyteArray); |
| writer.WriteStringArray("m_stringArray", m_stringArray); |
| writer.WriteShort("m_uint16", m_uint16); |
| writer.WriteInt("m_uint32", m_uint32); |
| writer.WriteLong("m_ulong", m_ulong); |
| writer.WriteIntArray("m_uint32Array", m_uint32Array); |
| writer.WriteLongArray("m_ulongArray", m_ulongArray); |
| writer.WriteShortArray("m_uint16Array", m_uint16Array); |
| writer.WriteByteArray("m_byte252", m_byte252); |
| writer.WriteByteArray("m_byte253", m_byte253); |
| writer.WriteByteArray("m_byte65535", m_byte65535); |
| writer.WriteByteArray("m_byte65536", m_byte65536); |
| |
| } |
| public override int GetHashCode() |
| { |
| return base.GetHashCode(); |
| } |
| |
| public override bool Equals(object obj) |
| { |
| Console.WriteLine("PdxVersioned 2 Equals called"); |
| if (obj == null) |
| return false; |
| PdxVersioned pap = obj as PdxVersioned; |
| |
| if (pap == null) |
| return false; |
| |
| if (pap == this) |
| return true; |
| if (m_char.Equals(pap.m_char)) |
| return true; |
| |
| return false; |
| } |
| } */ |
| #endregion |
| |
| public class TestKey |
| { |
| private string _id; |
| |
| public TestKey() { } |
| public TestKey(string id) { _id = id; } |
| |
| public void FromData(IPdxReader reader) |
| { |
| _id = reader.ReadString("id"); |
| } |
| |
| public void ToData(IPdxWriter writer) |
| { |
| writer.WriteString("id", _id); |
| writer.MarkIdentityField("id"); |
| } |
| public override bool Equals(object obj) |
| { |
| if (obj == null) |
| return false; |
| TestKey tk = obj as TestKey; |
| if (tk == null) |
| return false; |
| |
| bool ret = _id.Equals(tk._id); |
| Console.WriteLine(ret); |
| return ret; |
| } |
| public override int GetHashCode() |
| { |
| int ret = _id.GetHashCode(); |
| Console.WriteLine(ret); |
| return ret; |
| } |
| } |
| |
| public class TestDiffTypePdxS : IPdxSerializer |
| { |
| private string _id; |
| private string _name; |
| private int _count; |
| |
| public TestDiffTypePdxS(bool init) |
| { |
| if (init) |
| { |
| _id = "id:100"; |
| _name = "HK"; |
| _count = 100; |
| } |
| } |
| |
| public static IPdxSerializer Create() |
| { |
| return new TestDiffTypePdxS(false); |
| } |
| |
| public override string ToString() |
| { |
| return _id + " : " + _name + " :" + _count; |
| } |
| #region IPdxSerializable Members |
| |
| public void FromData(IPdxReader reader) |
| { |
| _id = reader.ReadString("id"); |
| _name = reader.ReadString("name"); |
| _count = reader.ReadInt("count"); |
| } |
| |
| public void ToData(IPdxWriter writer) |
| { |
| writer.WriteString("id", _id); |
| writer.MarkIdentityField("id"); |
| writer.WriteString("name", _name); |
| writer.WriteInt("count", _count); |
| } |
| |
| #endregion |
| |
| public override bool Equals(object obj) |
| { |
| if (obj == null) |
| return false; |
| |
| TestDiffTypePdxS other = obj as TestDiffTypePdxS; |
| if (other == null) |
| return false; |
| |
| if (other._id == _id && other._name == _name && other._count == _count) |
| return true; |
| return false; |
| } |
| |
| //public override int GetHashCode() |
| //{ |
| // return _id.GetHashCode(); |
| //} |
| |
| #region IPdxSerializer Members |
| |
| public object FromData(string classname, IPdxReader reader) |
| { |
| if (classname.IndexOf("TestDiffTypePdxS") >= 0) |
| { |
| TestDiffTypePdxS ret = (TestDiffTypePdxS)TestDiffTypePdxS.Create(); |
| ret.FromData(reader); |
| return ret; |
| } |
| else if (classname.IndexOf("TestKey") >= 0) |
| { |
| TestKey tk = new TestKey(); |
| tk.FromData(reader); |
| return tk; |
| } |
| throw new IllegalStateException("In TestDiffTypePdxS.FromData serializer class not found " + classname); |
| |
| } |
| |
| public bool ToData(object o, IPdxWriter writer) |
| { |
| string classname = o.GetType().FullName; |
| if (classname.IndexOf("TestDiffTypePdxS") >= 0) |
| { |
| ((TestDiffTypePdxS)o).ToData(writer); |
| return true; |
| } |
| else if (classname.IndexOf("TestKey") >= 0) |
| { |
| TestKey tk = (TestKey)o; |
| tk.ToData(writer); |
| return true; |
| } |
| throw new IllegalStateException("In TestDiffTypePdxS.ToData serializer class not found " + classname); |
| } |
| |
| public override int GetHashCode() |
| { |
| var hashCode = -414132507; |
| hashCode = hashCode * -1521134295 + EqualityComparer<string>.Default.GetHashCode(_id); |
| hashCode = hashCode * -1521134295 + EqualityComparer<string>.Default.GetHashCode(_name); |
| hashCode = hashCode * -1521134295 + _count.GetHashCode(); |
| return hashCode; |
| } |
| |
| #endregion |
| |
| |
| } |
| |
| public class TestEquals : IPdxSerializable |
| { |
| int i1 = 1; |
| //int i2 = 2; |
| int i3 = 0; |
| string s1 = "s1"; |
| string[] sArr = new string[] { "sa1", "sa2" }; |
| int[] intArr = new int[] { 1, 2, 3 }; |
| string sArr2 = null; |
| |
| |
| public static IPdxSerializable CreateDeserializable() |
| { |
| return new TestEquals(); |
| } |
| |
| #region IPdxSerializable Members |
| |
| public void FromData(IPdxReader reader) |
| { |
| i1 = reader.ReadInt("i1"); |
| i3 = reader.ReadInt("i3"); |
| s1 = reader.ReadString("s1"); |
| sArr = reader.ReadStringArray("sArr"); |
| intArr = reader.ReadIntArray("intArr"); |
| intArr = (int[])reader.ReadObject("intArrObject"); |
| sArr = (string[])reader.ReadObject("sArrObject"); |
| sArr2 = reader.ReadString("sArr2"); |
| } |
| |
| public void ToData(IPdxWriter writer) |
| { |
| writer.WriteInt("i1", i1); |
| writer.WriteInt("i3", i3); |
| writer.WriteString("s1", s1); |
| writer.WriteStringArray("sArr", sArr); |
| writer.WriteIntArray("intArr", intArr); |
| writer.WriteObject("intArrObject", intArr); |
| writer.WriteObject("sArrObject", sArr); |
| writer.WriteString("sArr2", sArr2); |
| } |
| |
| #endregion |
| } |
| [Serializable] |
| public class PdxVersioned : IPdxSerializable |
| { |
| char m_char; |
| bool m_bool; |
| sbyte m_byte; |
| sbyte m_sbyte; |
| short m_int16; |
| short m_uint16; |
| Int32 m_int32; |
| Int32 m_uint32; |
| long m_long; |
| Int64 m_ulong; |
| float m_float; |
| double m_double; |
| |
| string m_string; |
| |
| bool[] m_boolArray; |
| byte[] m_byteArray; |
| byte[] m_sbyteArray; |
| |
| char[] m_charArray; |
| |
| DateTime m_dateTime; |
| |
| Int16[] m_int16Array; |
| Int16[] m_uint16Array; |
| |
| Int32[] m_int32Array; |
| Int32[] m_uint32Array; |
| |
| long[] m_longArray; |
| Int64[] m_ulongArray; |
| |
| float[] m_floatArray; |
| double[] m_doubleArray; |
| |
| byte[][] m_byteByteArray; |
| |
| string[] m_stringArray; |
| |
| List<object> m_arraylist = new List<object>(); |
| IDictionary<object, object> m_map = new Dictionary<object, object>(); |
| Hashtable m_hashtable = new Hashtable(); |
| ArrayList m_vector = new ArrayList(); |
| |
| //CacheableHashSet m_chs = CacheableHashSet.Create(); |
| //CacheableLinkedHashSet m_clhs = CacheableLinkedHashSet.Create(); |
| |
| byte[] m_byte252 = new byte[252]; |
| byte[] m_byte253 = new byte[253]; |
| byte[] m_byte65535 = new byte[65535]; |
| byte[] m_byte65536 = new byte[65536]; |
| pdxEnumTest m_pdxEnum = pdxEnumTest.pdx2; |
| static Random _random = new Random(); |
| public static char GetLetter() |
| { |
| // This method returns a random lowercase letter. |
| // ... Between 'a' and 'z' inclusize. |
| int num = _random.Next(0, 26); // Zero to 25 |
| char let = (char)('A' + num); |
| return let; |
| } |
| public PdxVersioned() |
| { |
| Init("Version 2"); |
| } |
| public PdxVersioned(string setString) |
| { |
| Init(setString); |
| } |
| public void Init(string setString) |
| { |
| m_char = 'C'; |
| m_bool = true; |
| m_byte = 0x74; |
| m_sbyte = 0x67; |
| m_int16 = 0xab; |
| m_uint16 = 0x2dd5; |
| m_int32 = 0x2345abdc; |
| m_uint32 = 0x2a65c434; |
| m_long = 324897980; |
| m_ulong = 238749898; |
| m_float = 23324.324f; |
| m_double = 3243298498d; |
| |
| m_string = "PdxVersioned " + setString; |
| |
| m_boolArray = new bool[] { true, false, true }; |
| m_byteArray = new byte[] { 0x34, 0x64 }; |
| m_sbyteArray = new byte[] { 0x34, 0x64 }; |
| |
| m_charArray = new char[] { 'c', 'v' }; |
| |
| DateTime n = new DateTime((62135596800000/*epoch*/ + 1310447869154) * 10000, DateTimeKind.Utc); |
| m_dateTime = n.ToLocalTime(); |
| |
| Console.WriteLine(m_dateTime.Ticks); |
| |
| m_int16Array = new short[] { 0x2332, 0x4545 }; |
| m_uint16Array = new short[] { 0x3243, 0x3232 }; |
| |
| m_int32Array = new int[] { 23, 676868, 34343, 2323 }; |
| m_uint32Array = new int[] { 435, 234324, 324324, 23432432 }; |
| |
| m_longArray = new long[] { 324324L, 23434545L }; |
| m_ulongArray = new Int64[] { 3245435, 3425435 }; |
| |
| m_floatArray = new float[] { 232.565f, 2343254.67f }; |
| m_doubleArray = new double[] { 23423432d, 4324235435d }; |
| |
| m_byteByteArray = new byte[][]{new byte[] {0x23}, |
| new byte[]{0x34, 0x55} |
| }; |
| |
| m_stringArray = new string[] { "one", "two" }; |
| |
| m_arraylist = new List<object>(); |
| m_arraylist.Add(1); |
| m_arraylist.Add(2); |
| |
| |
| m_map = new Dictionary<object, object>(); |
| m_map.Add(1, 1); |
| m_map.Add(2, 2); |
| |
| m_hashtable = new Hashtable(); |
| m_hashtable.Add(1, "1111111111111111"); |
| m_hashtable.Add(2, "2222222222221111111111111111"); |
| |
| m_vector = new ArrayList(); |
| m_vector.Add(1); |
| m_vector.Add(2); |
| m_vector.Add(3); |
| |
| //m_chs.Add(1); |
| //m_clhs.Add(1); |
| // m_clhs.Add(2); |
| |
| m_pdxEnum = pdxEnumTest.pdx2; |
| } |
| |
| public static IPdxSerializable CreateDeserializable() |
| { |
| return new PdxVersioned(); |
| } |
| |
| |
| |
| #region IPdxSerializable Members |
| public static byte[][] compareByteByteArray(byte[][] baa, byte[][] baa2) |
| { |
| if (baa.Length == baa2.Length) |
| { |
| int i = 0; |
| while (i < baa.Length) |
| { |
| compareByteArray(baa[i], baa2[i]); |
| i++; |
| } |
| if (i == baa2.Length) |
| return baa2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + baa2.GetType().ToString()); |
| } |
| bool compareBool(bool b, bool b2) |
| { |
| if (b == b2) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString()); |
| } |
| bool[] compareBoolArray(bool[] a, bool[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| byte compareByte(byte b, byte b2) |
| { |
| if (b == b2) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString()); |
| } |
| public static byte[] compareByteArray(byte[] a, byte[] a2) |
| { |
| Console.WriteLine("Compare byte array " + a.Length + " ; " + a2.Length); |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| Console.WriteLine("Compare byte array " + a[i] + " : " + a2[i]); |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| char[] compareCharArray(char[] a, char[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| public static List<object> compareCompareCollection(List<object> a, List<object> a2) |
| { |
| if (a.Count == a2.Count) |
| { |
| int i = 0; |
| while (i < a.Count) |
| { |
| if (!a[i].Equals(a2[i])) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Count) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| public static DateTime compareData(DateTime b, DateTime b2) |
| { |
| Console.WriteLine("date " + b.Ticks + " : " + b2.Ticks); |
| //TODO: |
| // return b; |
| if ((b.Ticks / 10000L) == (b2.Ticks / 10000L)) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString()); |
| } |
| Double compareDouble(Double b, Double b2) |
| { |
| if (b == b2) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString()); |
| } |
| double[] compareDoubleArray(double[] a, double[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| float compareFloat(float b, float b2) |
| { |
| if (b == b2) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString()); |
| } |
| float[] compareFloatArray(float[] a, float[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| Int16 compareInt16(Int16 b, Int16 b2) |
| { |
| if (b == b2) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString()); |
| } |
| Int32 compareInt32(Int32 b, Int32 b2) |
| { |
| if (b == b2) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString()); |
| } |
| Int64 compareInt64(Int64 b, Int64 b2) |
| { |
| if (b == b2) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString()); |
| } |
| Int32[] compareIntArray(Int32[] a, Int32[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| long[] compareLongArray(long[] a, long[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| Int16[] compareSHortArray(Int16[] a, Int16[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| sbyte compareSByte(sbyte b, sbyte b2) |
| { |
| if (b == b2) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString()); |
| } |
| sbyte[] compareSByteArray(sbyte[] a, sbyte[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| string[] compareStringArray(string[] a, string[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| UInt16 compareUInt16(UInt16 b, UInt16 b2) |
| { |
| if (b == b2) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString()); |
| } |
| UInt32 compareUInt32(UInt32 b, UInt32 b2) |
| { |
| if (b == b2) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString()); |
| } |
| UInt64 compareUint64(UInt64 b, UInt64 b2) |
| { |
| if (b == b2) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString()); |
| } |
| UInt32[] compareUnsignedIntArray(UInt32[] a, UInt32[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| UInt64[] compareUnsignedLongArray(UInt64[] a, UInt64[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| UInt16[] compareUnsignedShortArray(UInt16[] a, UInt16[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (a[i] != a2[i]) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| |
| public static T[] GenericCompare<T>(T[] a, T[] a2) |
| { |
| if (a.Length == a2.Length) |
| { |
| int i = 0; |
| while (i < a.Length) |
| { |
| if (!a[i].Equals(a2[i])) |
| break; |
| else |
| i++; |
| } |
| if (i == a2.Length) |
| return a2; |
| } |
| |
| throw new IllegalStateException("Not got expected value for type: " + a2.GetType().ToString()); |
| } |
| |
| |
| public static T GenericValCompare<T>(T b, T b2) |
| { |
| if (b.Equals(b2)) |
| return b; |
| throw new IllegalStateException("Not got expected value for type: " + b2.GetType().ToString() + " : values " + b.ToString() + ": " + b2.ToString()); |
| } |
| public override bool Equals(object obj) |
| { |
| if (obj == null) |
| return false; |
| |
| PdxVersioned other = obj as PdxVersioned; |
| if (other == null) |
| return false; |
| |
| if (other == this) |
| return true; |
| |
| compareByteByteArray(other.m_byteByteArray, m_byteByteArray); |
| GenericValCompare(m_char, other.m_char); |
| |
| GenericValCompare(other.m_bool, m_bool); |
| GenericCompare(other.m_boolArray, m_boolArray); |
| |
| GenericValCompare(other.m_byte, m_byte); |
| GenericCompare(other.m_byteArray, m_byteArray); |
| GenericCompare(other.m_charArray, m_charArray); |
| |
| compareCompareCollection(other.m_arraylist, m_arraylist); |
| |
| if (other.m_map.Count != m_map.Count) |
| throw new IllegalStateException("Not got expected value for type: " + m_map.GetType().ToString()); |
| |
| if (other.m_hashtable.Count != m_hashtable.Count) |
| throw new IllegalStateException("Not got expected value for type: " + m_hashtable.GetType().ToString()); |
| |
| if (other.m_vector.Count != m_vector.Count) |
| throw new IllegalStateException("Not got expected value for type: " + m_vector.GetType().ToString()); |
| |
| //if (other.m_chs.Count != m_chs.Count) |
| // throw new IllegalStateException("Not got expected value for type: " + m_chs.GetType().ToString()); |
| |
| //if (other.m_clhs.Count != m_clhs.Count) |
| // throw new IllegalStateException("Not got expected value for type: " + m_clhs.GetType().ToString()); |
| |
| |
| GenericValCompare(other.m_string, m_string); |
| |
| compareData(other.m_dateTime, m_dateTime); |
| |
| GenericValCompare(other.m_double, m_double); |
| |
| GenericCompare(other.m_doubleArray, m_doubleArray); |
| GenericValCompare(other.m_float, m_float); |
| GenericCompare(other.m_floatArray, m_floatArray); |
| GenericValCompare(other.m_int16, m_int16); |
| GenericValCompare(other.m_int32, m_int32); |
| GenericValCompare(other.m_long, m_long); |
| GenericCompare(other.m_int32Array, m_int32Array); |
| GenericCompare(other.m_longArray, m_longArray); |
| GenericCompare(other.m_int16Array, m_int16Array); |
| GenericValCompare(other.m_sbyte, m_sbyte); |
| GenericCompare(other.m_sbyteArray, m_sbyteArray); |
| GenericCompare(other.m_stringArray, m_stringArray); |
| GenericValCompare(other.m_uint16, m_uint16); |
| GenericValCompare(other.m_uint32, m_uint32); |
| GenericValCompare(other.m_ulong, m_ulong); |
| GenericCompare(other.m_uint32Array, m_uint32Array); |
| GenericCompare(other.m_ulongArray, m_ulongArray); |
| GenericCompare(other.m_uint16Array, m_uint16Array); |
| |
| if (m_byte252.Length != 252 && other.m_byte252.Length != 252) |
| throw new Exception("Array len 252 not found"); |
| |
| if (m_byte253.Length != 253 && other.m_byte253.Length != 253) |
| throw new Exception("Array len 253 not found"); |
| |
| if (m_byte65535.Length != 65535 && other.m_byte65535.Length != 65535) |
| throw new Exception("Array len 65535 not found"); |
| |
| if (m_byte65536.Length != 65536 && other.m_byte65536.Length != 65536) |
| throw new Exception("Array len 65536 not found"); |
| if (m_pdxEnum != other.m_pdxEnum) |
| throw new Exception("pdx enum is not equal"); |
| return true; |
| } |
| public void FromData(IPdxReader reader) |
| { |
| //byte[][] baa = reader.ReadArrayOfByteArrays("m_byteByteArray"); |
| //m_byteByteArray = compareByteByteArray(baa, m_byteByteArray); |
| |
| //bool bl = reader.ReadBoolean("m_bool"); |
| //m_bool = compareBool(bl, m_bool); |
| //m_boolArray = compareBoolArray(reader.ReadBooleanArray("m_boolArray"), m_boolArray); |
| |
| //m_byte = compareByte(reader.ReadByte("m_byte"), m_byte); |
| //m_byteArray = compareByteArray(reader.ReadByteArray("m_byteArray"), m_byteArray); |
| //m_charArray = compareCharArray(reader.ReadCharArray("m_charArray"), m_charArray); |
| //List<object> tmpl = new List<object>(); |
| //reader.ReadCollection("m_list", tmpl); |
| //m_list = compareCompareCollection(tmpl, m_list); |
| |
| //m_dateTime = compareData(reader.ReadDate("m_dateTime"), m_dateTime); |
| |
| //m_double = compareDouble(reader.ReadDouble("m_double"), m_double); |
| |
| //m_doubleArray = compareDoubleArray(reader.ReadDoubleArray("m_doubleArray"), m_doubleArray); |
| //m_float = compareFloat(reader.ReadFloat("m_float"), m_float); |
| //m_floatArray = compareFloatArray(reader.ReadFloatArray("m_floatArray"), m_floatArray); |
| //m_int16 = compareInt16(reader.ReadInt16("m_int16"), m_int16); |
| //m_int32 = compareInt32(reader.ReadInt32("m_int32"), m_int32); |
| //m_long = compareInt64(reader.ReadInt64("m_long"), m_long); |
| //m_int32Array = compareIntArray(reader.ReadIntArray("m_int32Array"), m_int32Array); |
| //m_longArray = compareLongArray(reader.ReadLongArray("m_longArray"), m_longArray); |
| //m_int16Array = compareSHortArray(reader.ReadShortArray("m_int16Array"), m_int16Array); |
| //m_sbyte = compareSByte(reader.ReadSByte("m_sbyte"), m_sbyte); |
| //m_sbyteArray = compareSByteArray(reader.ReadSByteArray("m_sbyteArray"), m_sbyteArray); |
| //m_stringArray = compareStringArray(reader.ReadStringArray("m_stringArray"), m_stringArray); |
| //m_uint16 = compareUInt16(reader.ReadUInt16("m_uint16"), m_uint16); |
| //m_uint32 = compareUInt32(reader.ReadUInt32("m_uint32") , m_uint32); |
| //m_ulong = compareUint64(reader.ReadUInt64("m_ulong"), m_ulong); |
| //m_uint32Array = compareUnsignedIntArray(reader.ReadUnsignedIntArray("m_uint32Array"), m_uint32Array); |
| //m_ulongArray = compareUnsignedLongArray(reader.ReadUnsignedLongArray("m_ulongArray"), m_ulongArray); |
| //m_uint16Array = compareUnsignedShortArray(reader.ReadUnsignedShortArray("m_uint16Array"), m_uint16Array); |
| |
| m_byteByteArray = reader.ReadArrayOfByteArrays("m_byteByteArray"); |
| m_char = reader.ReadChar("m_char"); |
| |
| m_bool = reader.ReadBoolean("m_bool"); |
| m_boolArray = reader.ReadBooleanArray("m_boolArray"); |
| |
| m_byte = reader.ReadByte("m_byte"); |
| m_byteArray = reader.ReadByteArray("m_byteArray"); |
| m_charArray = reader.ReadCharArray("m_charArray"); |
| |
| m_arraylist = (List<object>)reader.ReadObject("m_arraylist"); |
| |
| m_map = (IDictionary<object, object>)reader.ReadObject("m_map"); |
| |
| m_hashtable = (Hashtable)reader.ReadObject("m_hashtable"); |
| |
| |
| m_vector = (ArrayList)reader.ReadObject("m_vector"); |
| |
| //CacheableHashSet rmpChs = (CacheableHashSet)reader.ReadObject("m_chs"); |
| |
| //if (rmpChs.Count != m_chs.Count) |
| // throw new IllegalStateException("Not got expected value for type: " + m_chs.GetType().ToString()); |
| |
| //CacheableLinkedHashSet rmpClhs = (CacheableLinkedHashSet)reader.ReadObject("m_clhs"); |
| |
| //if (rmpClhs.Count != m_clhs.Count) |
| // throw new IllegalStateException("Not got expected value for type: " + m_clhs.GetType().ToString()); |
| |
| |
| m_string = reader.ReadString("m_string"); |
| |
| m_dateTime = reader.ReadDate("m_dateTime"); |
| |
| m_double = reader.ReadDouble("m_double"); |
| |
| m_doubleArray = reader.ReadDoubleArray("m_doubleArray"); |
| m_float = reader.ReadFloat("m_float"); |
| m_floatArray = reader.ReadFloatArray("m_floatArray"); |
| m_int16 = reader.ReadShort("m_int16"); |
| m_int32 = reader.ReadInt("m_int32"); |
| m_long = reader.ReadLong("m_long"); |
| m_int32Array = reader.ReadIntArray("m_int32Array"); |
| m_longArray = reader.ReadLongArray("m_longArray"); |
| m_int16Array = reader.ReadShortArray("m_int16Array"); |
| m_sbyte = reader.ReadByte("m_sbyte"); |
| m_sbyteArray = reader.ReadByteArray("m_sbyteArray"); |
| m_stringArray = reader.ReadStringArray("m_stringArray"); |
| m_uint16 = reader.ReadShort("m_uint16"); |
| m_uint32 = reader.ReadInt("m_uint32"); |
| m_ulong = reader.ReadLong("m_ulong"); |
| m_uint32Array = reader.ReadIntArray("m_uint32Array"); |
| m_ulongArray = reader.ReadLongArray("m_ulongArray"); |
| m_uint16Array = reader.ReadShortArray("m_uint16Array"); |
| |
| byte[] ret = reader.ReadByteArray("m_byte252"); |
| if (ret.Length != 252) |
| throw new Exception("Array len 252 not found"); |
| |
| ret = reader.ReadByteArray("m_byte253"); |
| if (ret.Length != 253) |
| throw new Exception("Array len 253 not found"); |
| |
| ret = reader.ReadByteArray("m_byte65535"); |
| if (ret.Length != 65535) |
| throw new Exception("Array len 65535 not found"); |
| |
| ret = reader.ReadByteArray("m_byte65536"); |
| if (ret.Length != 65536) |
| throw new Exception("Array len 65536 not found"); |
| |
| m_pdxEnum = (pdxEnumTest)reader.ReadObject("m_pdxEnum"); |
| //if (retenum != m_pdxEnum) |
| // throw new Exception("Enum is not equal"); |
| //byte[] m_byte252 = new byte[252]; |
| //byte[] m_byte253 = new byte[253]; |
| //byte[] m_byte65535 = new byte[65535]; |
| //byte[] m_byte65536 = new byte[65536]; |
| |
| } |
| public string PString |
| { |
| get { return m_string; } |
| } |
| public void ToData(IPdxWriter writer) |
| { |
| writer.WriteArrayOfByteArrays("m_byteByteArray", m_byteByteArray); |
| writer.WriteChar("m_char", m_char); |
| writer.WriteBoolean("m_bool", m_bool); |
| writer.WriteBooleanArray("m_boolArray", m_boolArray); |
| writer.WriteByte("m_byte", m_byte); |
| writer.WriteByteArray("m_byteArray", m_byteArray); |
| writer.WriteCharArray("m_charArray", m_charArray); |
| //writer.WriteCollection("m_list", m_list); |
| |
| writer.WriteObject("m_arraylist", m_arraylist); |
| writer.WriteObject("m_map", m_map); |
| writer.WriteObject("m_hashtable", m_hashtable); |
| writer.WriteObject("m_vector", m_vector); |
| |
| //writer.WriteObject("m_chs", m_chs); |
| //writer.WriteObject("m_clhs", m_clhs); |
| |
| writer.WriteString("m_string", m_string); |
| writer.WriteDate("m_dateTime", m_dateTime); |
| writer.WriteDouble("m_double", m_double); |
| writer.WriteDoubleArray("m_doubleArray", m_doubleArray); |
| writer.WriteFloat("m_float", m_float); |
| writer.WriteFloatArray("m_floatArray", m_floatArray); |
| writer.WriteShort("m_int16", m_int16); |
| writer.WriteInt("m_int32", m_int32); |
| writer.WriteLong("m_long", m_long); |
| writer.WriteIntArray("m_int32Array", m_int32Array); |
| writer.WriteLongArray("m_longArray", m_longArray); |
| writer.WriteShortArray("m_int16Array", m_int16Array); |
| writer.WriteByte("m_sbyte", m_sbyte); |
| writer.WriteByteArray("m_sbyteArray", m_sbyteArray); |
| writer.WriteStringArray("m_stringArray", m_stringArray); |
| writer.WriteShort("m_uint16", m_uint16); |
| writer.WriteInt("m_uint32", m_uint32); |
| writer.WriteLong("m_ulong", m_ulong); |
| writer.WriteIntArray("m_uint32Array", m_uint32Array); |
| writer.WriteLongArray("m_ulongArray", m_ulongArray); |
| writer.WriteShortArray("m_uint16Array", m_uint16Array); |
| writer.WriteByteArray("m_byte252", m_byte252); |
| writer.WriteByteArray("m_byte253", m_byte253); |
| writer.WriteByteArray("m_byte65535", m_byte65535); |
| writer.WriteByteArray("m_byte65536", m_byte65536); |
| writer.WriteObject("m_pdxEnum", m_pdxEnum); |
| //byte[] m_byte252 = new byte[252]; |
| //byte[] m_byte253 = new byte[253]; |
| //byte[] m_byte65535 = new byte[65535]; |
| //byte[] m_byte65536 = new byte[65536]; |
| } |
| |
| public char Char |
| { |
| get { return m_char; } |
| } |
| public bool Bool |
| { |
| get { return m_bool; } |
| } |
| public sbyte Byte |
| { |
| get { return m_byte; } |
| } |
| public sbyte Sbyte |
| { |
| get { return m_sbyte; } |
| } |
| public short Int16 |
| { |
| get { return m_int16; } |
| } |
| |
| public short Uint16 |
| { |
| get { return m_uint16; } |
| } |
| public Int32 Int32 |
| { |
| get { return m_int32; } |
| } |
| public Int32 Uint32 |
| { |
| get { return m_uint32; } |
| } |
| public long Long |
| { |
| get { return m_long; } |
| } |
| public Int64 Ulong |
| { |
| get { return m_ulong; } |
| } |
| public float Float |
| { |
| get { return m_float; } |
| } |
| public double Double |
| { |
| get { return m_double; } |
| } |
| |
| public bool[] BoolArray |
| { |
| get { return m_boolArray; } |
| } |
| public byte[] ByteArray |
| { |
| get { return m_byteArray; } |
| } |
| public byte[] SbyteArray |
| { |
| get { return m_sbyteArray; } |
| } |
| |
| public char[] CharArray |
| { |
| get { return m_charArray; } |
| } |
| |
| public DateTime DateTime |
| { |
| get { return m_dateTime; } |
| } |
| |
| public Int16[] Int16Array |
| { |
| get { return m_int16Array; } |
| } |
| public Int16[] Uint16Array |
| { |
| get { return m_uint16Array; } |
| } |
| |
| public Int32[] Int32Array |
| { |
| get { return m_int32Array; } |
| } |
| public Int32[] Uint32Array |
| { |
| get { return m_uint32Array; } |
| } |
| |
| public long[] LongArray |
| { |
| get { return m_longArray; } |
| } |
| public Int64[] UlongArray |
| { |
| get { return m_ulongArray; } |
| } |
| |
| public float[] FloatArray |
| { |
| get { return m_floatArray; } |
| } |
| public double[] DoubleArray |
| { |
| get { return m_doubleArray; } |
| } |
| |
| public byte[][] ByteByteArray |
| { |
| get { return m_byteByteArray; } |
| } |
| |
| public string[] StringArray |
| { |
| get { return m_stringArray; } |
| } |
| |
| public List<object> Arraylist |
| { |
| get { return m_arraylist; } |
| } |
| public IDictionary<object, object> Map |
| { |
| get { return m_map; } |
| } |
| public Hashtable Hashtable |
| { |
| get { return m_hashtable; } |
| } |
| |
| public ArrayList Vector |
| { |
| get { return m_vector; } |
| } |
| /* |
| public CacheableHashSet Chs |
| { |
| get { return m_chs; } |
| } |
| public CacheableLinkedHashSet Clhs |
| { |
| get { return m_clhs; } |
| } |
| */ |
| public byte[] Byte252 |
| { |
| get { return m_byte252; } |
| } |
| public byte[] Byte253 |
| { |
| get { return m_byte253; } |
| } |
| public byte[] Byte65535 |
| { |
| get { return m_byte65535; } |
| } |
| public byte[] Byte65536 |
| { |
| get { return m_byte65536; } |
| } |
| |
| public pdxEnumTest PdxEnum |
| { |
| get { return m_pdxEnum; } |
| } |
| |
| public override string ToString() |
| { |
| return "PdxVersioned 2 : " + m_string; |
| } |
| |
| public override int GetHashCode() |
| { |
| var hashCode = 1454868752; |
| hashCode = hashCode * -1521134295 + m_char.GetHashCode(); |
| hashCode = hashCode * -1521134295 + m_bool.GetHashCode(); |
| hashCode = hashCode * -1521134295 + m_byte.GetHashCode(); |
| hashCode = hashCode * -1521134295 + m_sbyte.GetHashCode(); |
| hashCode = hashCode * -1521134295 + m_int16.GetHashCode(); |
| hashCode = hashCode * -1521134295 + m_uint16.GetHashCode(); |
| hashCode = hashCode * -1521134295 + m_int32.GetHashCode(); |
| hashCode = hashCode * -1521134295 + m_uint32.GetHashCode(); |
| hashCode = hashCode * -1521134295 + m_long.GetHashCode(); |
| hashCode = hashCode * -1521134295 + m_ulong.GetHashCode(); |
| hashCode = hashCode * -1521134295 + m_float.GetHashCode(); |
| hashCode = hashCode * -1521134295 + m_double.GetHashCode(); |
| hashCode = hashCode * -1521134295 + EqualityComparer<string>.Default.GetHashCode(m_string); |
| hashCode = hashCode * -1521134295 + EqualityComparer<bool[]>.Default.GetHashCode(m_boolArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[]>.Default.GetHashCode(m_byteArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[]>.Default.GetHashCode(m_sbyteArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<char[]>.Default.GetHashCode(m_charArray); |
| hashCode = hashCode * -1521134295 + m_dateTime.GetHashCode(); |
| hashCode = hashCode * -1521134295 + EqualityComparer<short[]>.Default.GetHashCode(m_int16Array); |
| hashCode = hashCode * -1521134295 + EqualityComparer<short[]>.Default.GetHashCode(m_uint16Array); |
| hashCode = hashCode * -1521134295 + EqualityComparer<int[]>.Default.GetHashCode(m_int32Array); |
| hashCode = hashCode * -1521134295 + EqualityComparer<int[]>.Default.GetHashCode(m_uint32Array); |
| hashCode = hashCode * -1521134295 + EqualityComparer<long[]>.Default.GetHashCode(m_longArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<long[]>.Default.GetHashCode(m_ulongArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<float[]>.Default.GetHashCode(m_floatArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<double[]>.Default.GetHashCode(m_doubleArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[][]>.Default.GetHashCode(m_byteByteArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<string[]>.Default.GetHashCode(m_stringArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<List<object>>.Default.GetHashCode(m_arraylist); |
| hashCode = hashCode * -1521134295 + EqualityComparer<IDictionary<object, object>>.Default.GetHashCode(m_map); |
| hashCode = hashCode * -1521134295 + EqualityComparer<Hashtable>.Default.GetHashCode(m_hashtable); |
| hashCode = hashCode * -1521134295 + EqualityComparer<ArrayList>.Default.GetHashCode(m_vector); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[]>.Default.GetHashCode(m_byte252); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[]>.Default.GetHashCode(m_byte253); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[]>.Default.GetHashCode(m_byte65535); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[]>.Default.GetHashCode(m_byte65536); |
| hashCode = hashCode * -1521134295 + m_pdxEnum.GetHashCode(); |
| hashCode = hashCode * -1521134295 + EqualityComparer<string>.Default.GetHashCode(PString); |
| hashCode = hashCode * -1521134295 + Char.GetHashCode(); |
| hashCode = hashCode * -1521134295 + Bool.GetHashCode(); |
| hashCode = hashCode * -1521134295 + Byte.GetHashCode(); |
| hashCode = hashCode * -1521134295 + Sbyte.GetHashCode(); |
| hashCode = hashCode * -1521134295 + Int16.GetHashCode(); |
| hashCode = hashCode * -1521134295 + Uint16.GetHashCode(); |
| hashCode = hashCode * -1521134295 + Int32.GetHashCode(); |
| hashCode = hashCode * -1521134295 + Uint32.GetHashCode(); |
| hashCode = hashCode * -1521134295 + Long.GetHashCode(); |
| hashCode = hashCode * -1521134295 + Ulong.GetHashCode(); |
| hashCode = hashCode * -1521134295 + Float.GetHashCode(); |
| hashCode = hashCode * -1521134295 + Double.GetHashCode(); |
| hashCode = hashCode * -1521134295 + EqualityComparer<bool[]>.Default.GetHashCode(BoolArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[]>.Default.GetHashCode(ByteArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[]>.Default.GetHashCode(SbyteArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<char[]>.Default.GetHashCode(CharArray); |
| hashCode = hashCode * -1521134295 + DateTime.GetHashCode(); |
| hashCode = hashCode * -1521134295 + EqualityComparer<short[]>.Default.GetHashCode(Int16Array); |
| hashCode = hashCode * -1521134295 + EqualityComparer<short[]>.Default.GetHashCode(Uint16Array); |
| hashCode = hashCode * -1521134295 + EqualityComparer<int[]>.Default.GetHashCode(Int32Array); |
| hashCode = hashCode * -1521134295 + EqualityComparer<int[]>.Default.GetHashCode(Uint32Array); |
| hashCode = hashCode * -1521134295 + EqualityComparer<long[]>.Default.GetHashCode(LongArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<long[]>.Default.GetHashCode(UlongArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<float[]>.Default.GetHashCode(FloatArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<double[]>.Default.GetHashCode(DoubleArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[][]>.Default.GetHashCode(ByteByteArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<string[]>.Default.GetHashCode(StringArray); |
| hashCode = hashCode * -1521134295 + EqualityComparer<List<object>>.Default.GetHashCode(Arraylist); |
| hashCode = hashCode * -1521134295 + EqualityComparer<IDictionary<object, object>>.Default.GetHashCode(Map); |
| hashCode = hashCode * -1521134295 + EqualityComparer<Hashtable>.Default.GetHashCode(Hashtable); |
| hashCode = hashCode * -1521134295 + EqualityComparer<ArrayList>.Default.GetHashCode(Vector); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[]>.Default.GetHashCode(Byte252); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[]>.Default.GetHashCode(Byte253); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[]>.Default.GetHashCode(Byte65535); |
| hashCode = hashCode * -1521134295 + EqualityComparer<byte[]>.Default.GetHashCode(Byte65536); |
| hashCode = hashCode * -1521134295 + PdxEnum.GetHashCode(); |
| return hashCode; |
| } |
| #endregion |
| } |
| |
| public class InnerPdx : IPdxSerializable |
| { |
| string inner = "inner1"; |
| string inner2 = "inner1"; |
| string age = "21"; |
| |
| public InnerPdx() |
| { |
| } |
| |
| public void FromData(IPdxReader reader) |
| { |
| this.inner = reader.ReadString("inner"); |
| this.inner2 = reader.ReadString("inner2"); |
| this.age = reader.ReadString("age"); |
| } |
| |
| public void ToData(IPdxWriter writer) |
| { |
| string str = new string('a', 240); |
| writer.WriteString("inner1", str); |
| writer.WriteString("inner2", this.inner2); |
| writer.WriteString("age", this.age); |
| } |
| } |
| |
| public class Pdx1 : IPdxSerializable |
| { |
| string name = "name "; |
| |
| InnerPdx innerPdx = new InnerPdx(); |
| string age = "199"; |
| |
| public Pdx1() |
| { |
| } |
| |
| public void FromData(IPdxReader reader) |
| { |
| this.name = reader.ReadString("name1"); |
| this.name = reader.ReadString("name2"); |
| this.name = reader.ReadString("name3"); |
| this.name = reader.ReadString("name4"); |
| this.name = reader.ReadString("name5"); |
| this.innerPdx = (InnerPdx)reader.ReadObject("innerPdx"); |
| this.age = reader.ReadString("age1"); |
| //this.age = reader.ReadString("age2"); |
| this.age = reader.ReadString("age3"); |
| this.age = reader.ReadString("age4"); |
| this.age = reader.ReadString("age5"); |
| this.age = reader.ReadString("age6"); |
| |
| } |
| |
| public void ToData(IPdxWriter writer) |
| { |
| string str = new string('a', 240); |
| writer.WriteString("name1", str); |
| writer.WriteString("name2", this.name); |
| writer.WriteString("name3", this.name); |
| writer.WriteString("name4", this.name); |
| writer.WriteString("name5", this.name); |
| |
| writer.WriteObject("innerPdx", this.innerPdx); |
| writer.WriteString("age1", this.age); |
| //writer.WriteString("age2", this.age); |
| writer.WriteString("age3", this.age); |
| //writer.WriteString("age4", this.age); |
| writer.WriteString("age5", this.age); |
| writer.WriteString("age6", this.age); |
| } |
| |
| public override string ToString() |
| { |
| return this.name + " " + this.age; |
| } |
| } |
| } |