public static void Test(object obj, ProtoSerializer serializer, string message, byte[] expected) { byte[] data; using (MemoryStream ms = new MemoryStream()) { int reported; using (ProtoWriter writer = new ProtoWriter(ms, RuntimeTypeModel.Default, null)) { serializer(obj, writer); reported = ProtoWriter.GetPosition(writer); } 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); } }