public void TestIExternalizable() { var reader = new Amf3Reader(); var writer = new Amf3Writer(); reader.RegisterExternalizable <iexternalizable>(); var ext = new iexternalizable() { v1 = 0.1, v2 = 1 }; using (var sc = new SerializationContext()) { writer.WriteBytes(ext, sc); var buffer = new byte[sc.MessageLength]; sc.GetMessage(buffer); Assert.IsTrue(reader.TryGetObject(buffer, out var readVal, out var consumed)); var val = (iexternalizable)readVal; Assert.AreEqual(val.v1, ext.v1); Assert.AreEqual(val.v2, ext.v2); Assert.AreEqual(buffer.Length, consumed); } }