public void ShouldThrowOnVeryLongInt32Array() { Assert.Throws <OverflowException>(() => { var longArray = Enumerable.Repeat(16, MsgSerializer.MaxArrayLength + 1).ToArray(); MsgSerializer.WriteInt32Array(longArray, Array.Empty <byte>(), 0); }); }
public int WriteTo(byte[] buffer, int offset) { var dataOffset = offset + MsgSerializer.HeaderLength; var written = 0; written += MsgSerializer.WriteUInt32Array(Frames, buffer, dataOffset); written += MsgSerializer.WriteInt32Array(Hashes, buffer, dataOffset + written); written += MsgSerializer.WriteHeader(written, MsgId, buffer, offset); return(written); }
public void ShouldSerializeAndDeserializeInt32Array(int item, int count) { var value = Enumerable.Repeat(item, count).ToArray(); var buffer = new byte[MsgSerializer.SizeOf(value)]; MsgSerializer.WriteInt32Array(value, buffer, 0); var offset = 0; var deserialized = MsgSerializer.ReadInt32Array(buffer, ref offset); Assert.True(value.Length == deserialized.Length, "Length mismatch"); for (var i = 0; i < value.Length; i++) { Assert.True(value[i] == deserialized[i], $"Values mismatch at {i}"); } }