#pragma warning disable RCS1163 // Unused parameter. public static void Test(object obj, ProtoSerializer serializer, string message, byte[] expected) #pragma warning restore RCS1163 // Unused parameter. { byte[] data; using (MemoryStream ms = new MemoryStream()) { long reported; using (ProtoWriter writer = ProtoWriter.Create(out var state, ms, RuntimeTypeModel.Default, null)) { serializer(writer, ref state, obj); writer.Close(ref state); reported = ProtoWriter.GetLongPosition(writer, ref state); } data = ms.ToArray(); Assert.Equal(reported, data.Length); //, message + ":reported/actual"); } Assert.Equal(expected.Length, data.Length); //, message + ":Length"); for (int i = 0; i < data.Length; i++) { Assert.Equal(expected[i], data[i]); //, message + ":" + i); } }