private void checkProteTestBase(Soyo.Proto.ProtoTestBase src, Soyo.Proto.ProtoTestBase dest) { Assert.IsNotNull(src); Assert.IsNotNull(dest); Assert.AreEqual(src.boolValue, dest.boolValue); Assert.AreEqual(src.byteValue, dest.byteValue); Assert.AreEqual(src.sbyteValue, dest.sbyteValue); Assert.AreEqual(src.shortValue, dest.shortValue); Assert.AreEqual(src.ushortValue, dest.ushortValue); Assert.AreEqual(src.intValue, dest.intValue); Assert.AreEqual(src.uintValue, dest.uintValue); Assert.AreEqual(src.longValue, dest.longValue); Assert.AreEqual(src.ulongValue, dest.ulongValue); Assert.AreEqual(src.enumValue, dest.enumValue); Assert.AreEqual(src.floatValue, dest.floatValue); Assert.AreEqual(src.doubleValue, dest.doubleValue); Assert.AreEqual(src.stringValue, dest.stringValue); Assert.AreEqual(src.byteArrayValue?.Length ?? 0, dest.byteArrayValue?.Length ?? 0); for (int i = 0; i < (src.byteArrayValue?.Length ?? 0); i++) { Assert.AreEqual(src.byteArrayValue[i], dest.byteArrayValue[i]); } Assert.AreEqual(src.bufferValue.Count, dest.bufferValue.Count); for (int i = 0; i < src.bufferValue.Count; i++) { Assert.AreEqual(src.bufferValue[i], dest.bufferValue[i]); } Assert.AreEqual(src.boolNullValue, dest.boolNullValue); Assert.AreEqual(src.sbyteNullValue, dest.sbyteNullValue); Assert.AreEqual(src.shortNullValue, dest.shortNullValue); Assert.AreEqual(src.ushortNullValue, dest.ushortNullValue); Assert.AreEqual(src.intNullValue, dest.intNullValue); Assert.AreEqual(src.uintNullValue, dest.uintNullValue); Assert.AreEqual(src.longNullValue, dest.longNullValue); Assert.AreEqual(src.ulongNullValue, dest.ulongNullValue); Assert.AreEqual(src.floatNullValue, dest.floatNullValue); Assert.AreEqual(src.doubleNullValue, dest.doubleNullValue); Assert.AreEqual(src.bufferNullValue.GetValueOrDefault().Count, dest.bufferNullValue.GetValueOrDefault().Count); for (int i = 0; i < src.bufferNullValue.GetValueOrDefault().Count; i++) { Assert.AreEqual(src.bufferNullValue.GetValueOrDefault()[i], dest.bufferNullValue.GetValueOrDefault()[i]); } Assert.AreEqual(src.boolListValue?.Count ?? 0, dest.boolListValue?.Count ?? 0); for (int i = 0; i < (src.boolListValue?.Count ?? 0); i++) { Assert.AreEqual(src.boolListValue[i], dest.boolListValue[i]); } Assert.AreEqual(src.byteListValue?.Count ?? 0, dest.byteListValue?.Count ?? 0); for (int i = 0; i < (src.byteListValue?.Count ?? 0); i++) { Assert.AreEqual(src.byteListValue[i], dest.byteListValue[i]); } Assert.AreEqual(src.sbyteListValue?.Count ?? 0, dest.sbyteListValue?.Count ?? 0); for (int i = 0; i < (src.sbyteListValue?.Count ?? 0); i++) { Assert.AreEqual(src.sbyteListValue[i], dest.sbyteListValue[i]); } Assert.AreEqual(src.shortListValue?.Count ?? 0, dest.shortListValue?.Count ?? 0); for (int i = 0; i < (src.shortListValue?.Count ?? 0); i++) { Assert.AreEqual(src.shortListValue[i], dest.shortListValue[i]); } Assert.AreEqual(src.ushortListValue?.Count ?? 0, dest.ushortListValue?.Count ?? 0); for (int i = 0; i < (src.ushortListValue?.Count ?? 0); i++) { Assert.AreEqual(src.ushortListValue[i], dest.ushortListValue[i]); } Assert.AreEqual(src.intListValue?.Count ?? 0, dest.intListValue?.Count ?? 0); for (int i = 0; i < (src.intListValue?.Count ?? 0); i++) { Assert.AreEqual(src.intListValue[i], dest.intListValue[i]); } Assert.AreEqual(src.uintListValue?.Count ?? 0, dest.uintListValue?.Count ?? 0); for (int i = 0; i < (src.uintListValue?.Count ?? 0); i++) { Assert.AreEqual(src.uintListValue[i], dest.uintListValue[i]); } Assert.AreEqual(src.longListValue?.Count ?? 0, dest.longListValue?.Count ?? 0); for (int i = 0; i < (src.longListValue?.Count ?? 0); i++) { Assert.AreEqual(src.longListValue[i], dest.longListValue[i]); } Assert.AreEqual(src.ulongListValue?.Count ?? 0, dest.ulongListValue?.Count ?? 0); for (int i = 0; i < (src.ulongListValue?.Count ?? 0); i++) { Assert.AreEqual(src.ulongListValue[i], dest.ulongListValue[i]); } Assert.AreEqual(src.floatListValue?.Count ?? 0, dest.floatListValue?.Count ?? 0); for (int i = 0; i < (src.floatListValue?.Count ?? 0); i++) { Assert.AreEqual(src.floatListValue[i], dest.floatListValue[i]); } Assert.AreEqual(src.doubleListValue?.Count ?? 0, dest.doubleListValue?.Count ?? 0); for (int i = 0; i < (src.doubleListValue?.Count ?? 0); i++) { Assert.AreEqual(src.doubleListValue[i], dest.doubleListValue[i]); } Assert.AreEqual(src.stringListValue?.Count ?? 0, dest.stringListValue?.Count ?? 0); for (int i = 0; i < (src.stringListValue?.Count ?? 0); i++) { Assert.AreEqual(src.stringListValue[i], dest.stringListValue[i]); } Assert.AreEqual(src.bufferListValue?.Count ?? 0, dest.bufferListValue?.Count ?? 0); for (int i = 0; i < (src.bufferListValue?.Count ?? 0); i++) { Assert.AreEqual(src.bufferListValue[i].Count, dest.bufferListValue[i].Count); for (int j = 0; j < src.bufferListValue[i].Count; j++) { Assert.AreEqual(src.bufferListValue[i][j], dest.bufferListValue[i][j]); } } Assert.AreEqual(src.byteArrayListValue?.Count ?? 0, dest.byteArrayListValue?.Count ?? 0); for (int i = 0; i < (src.byteArrayListValue?.Count ?? 0); i++) { Assert.AreEqual(src.byteArrayListValue[i]?.Length, dest.byteArrayListValue[i]?.Length); for (int j = 0; j < src.byteArrayListValue[i]?.Length; j++) { Assert.AreEqual(src.byteArrayListValue[i][j], dest.byteArrayListValue[i][j]); } } Assert.AreEqual(src.uintUintDictionary?.Count ?? 0, dest.uintUintDictionary?.Count ?? 0); if ((src.uintUintDictionary?.Count ?? 0) > 0) { foreach (var entry in src.uintUintDictionary) { Assert.AreEqual(entry.Value, dest.uintUintDictionary[entry.Key]); } } }
private Soyo.Proto.ProtoTestBase generateProtoTestBase() { var data = new Soyo.Proto.ProtoTestBase(); data.boolValue = Rand.Default.Range(0, 2) > 0; data.byteValue = Rand.Default.RandByte(); data.sbyteValue = (sbyte)-Rand.Default.RandByte(); data.shortValue = (short)-Rand.Default.RandShort(); data.ushortValue = (ushort)Rand.Default.RandShort(); data.intValue = -Rand.Default.RandInt(); data.uintValue = Rand.Default.RandUint(); data.longValue = -Rand.Default.RandLong(); data.ulongValue = (ulong)Rand.Default.RandLong(); data.enumValue = (Rand.Default.Range(0, 2) > 0) ? Soyo.Proto.EnumTest.Test : Soyo.Proto.EnumTest.None; data.floatValue = Rand.Default.RandFloat(); data.doubleValue = Rand.Default.RandFloat() * Rand.Default.RandFloat(); data.stringValue = "please test me."; var buffer = new byte[] { Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte() }; data.byteArrayValue = buffer; buffer = new byte[] { Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte() }; data.bufferValue = new ByteBuffer(buffer); // nullable bool?boolNull = Rand.Default.Range(0, 2) > 0; data.boolNullValue = (Rand.Default.Range(0, 2) > 0) ? boolNull : null; byte?byteNull = Rand.Default.RandByte(); data.byteNullValue = (Rand.Default.Range(0, 2) > 0) ? byteNull : null; sbyte?sbyteNull = (sbyte)-Rand.Default.RandByte(); data.sbyteNullValue = (Rand.Default.Range(0, 2) > 0) ? sbyteNull : null; short?shortNull = (short)-Rand.Default.RandShort(); data.shortNullValue = (Rand.Default.Range(0, 2) > 0) ? shortNull : null; ushort?ushortNull = (ushort)Rand.Default.RandShort(); data.ushortNullValue = (Rand.Default.Range(0, 2) > 0) ? ushortNull : null; int?intNull = -Rand.Default.RandInt(); data.intNullValue = (Rand.Default.Range(0, 2) > 0) ? intNull : null; uint?uintNull = Rand.Default.RandUint(); data.uintNullValue = (Rand.Default.Range(0, 2) > 0) ? uintNull : null; long?longNull = -Rand.Default.RandLong(); data.longNullValue = (Rand.Default.Range(0, 2) > 0) ? longNull : null; ulong?ulongNull = (ulong)Rand.Default.RandLong(); data.ulongNullValue = (Rand.Default.Range(0, 2) > 0) ? ulongNull : null; float?floatNull = Rand.Default.RandFloat(); data.floatNullValue = (Rand.Default.Range(0, 2) > 0) ? floatNull : null; double?doubleNull = Rand.Default.RandFloat() * Rand.Default.RandFloat(); data.doubleNullValue = (Rand.Default.Range(0, 2) > 0) ? doubleNull : null; ByteBuffer?bufferNull = new ByteBuffer(new byte[] { Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte() }); data.bufferNullValue = (Rand.Default.Range(0, 2) > 0) ? bufferNull : null; // list data.boolListValue = Rand.Default.Range(0, 2) > 0 ? new List <bool>() : null; if (data.boolListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.boolListValue.Add(Rand.Default.Range(0, 2) > 0); } } data.byteListValue = Rand.Default.Range(0, 2) > 0 ? new List <byte>() : null; if (data.byteListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.byteListValue.Add(Rand.Default.RandByte()); } } data.sbyteListValue = Rand.Default.Range(0, 2) > 0 ? new List <sbyte>() : null; if (data.sbyteListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.sbyteListValue.Add((sbyte)-Rand.Default.RandByte()); } } data.shortListValue = Rand.Default.Range(0, 2) > 0 ? new List <short>() : null; if (data.shortListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.shortListValue.Add((short)-Rand.Default.RandShort()); } } data.ushortListValue = Rand.Default.Range(0, 2) > 0 ? new List <ushort>() : null; if (data.ushortListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.ushortListValue.Add((ushort)Rand.Default.RandShort()); } } data.intListValue = Rand.Default.Range(0, 2) > 0 ? new List <int>() : null; if (data.intListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.intListValue.Add(-Rand.Default.RandInt()); } } data.uintListValue = Rand.Default.Range(0, 2) > 0 ? new List <uint>() : null; if (data.uintListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.uintListValue.Add(Rand.Default.RandUint()); } } data.longListValue = Rand.Default.Range(0, 2) > 0 ? new List <long>() : null; if (data.longListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.longListValue.Add(-Rand.Default.RandLong()); } } data.ulongListValue = Rand.Default.Range(0, 2) > 0 ? new List <ulong>() : null; if (data.ulongListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.ulongListValue.Add((ulong)Rand.Default.RandLong()); } } data.floatListValue = Rand.Default.Range(0, 2) > 0 ? new List <float>() : null; if (data.floatListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.floatListValue.Add(Rand.Default.RandFloat()); } } data.doubleListValue = Rand.Default.Range(0, 2) > 0 ? new List <double>() : null; if (data.doubleListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.doubleListValue.Add(Rand.Default.RandFloat() * Rand.Default.RandFloat()); } } data.stringListValue = Rand.Default.Range(0, 2) > 0 ? new List <string>() : null; if (data.stringListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.stringListValue.Add("test me" + i); } } data.byteArrayListValue = Rand.Default.Range(0, 2) > 0 ? new List <byte[]>() : null; if (data.byteArrayListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { var tmp = new byte[] { Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte() }; data.byteArrayListValue.Add(tmp); } } data.bufferListValue = Rand.Default.Range(0, 2) > 0 ? new List <ByteBuffer>() : null; if (data.bufferListValue != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { var tmp = new ByteBuffer(new byte[] { Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte(), Rand.Default.RandByte() }); data.bufferListValue.Add(tmp); } } data.uintUintDictionary = Rand.Default.Range(0, 2) > 0 ? new Dictionary <uint, uint>() : null; if (data.uintUintDictionary != null) { int count = Rand.Default.RandInt(checkCount); for (int i = 0; i < count; i++) { data.uintUintDictionary[Rand.Default.RandUint()] = Rand.Default.RandUint(); } } return(data); }