public void SerializeAndReadBack()
{
var registry = new DependencyFingerprintProtocolRegistry();
registry.Register<ObjectPropertiesProtocol>();
var ser = new BinarySerializer(registry);
var obj = new
{
A = "hello",
B = 10,
C = 12.2,
D = new TimeSpan(2, 10, 25)
};
var fp1 = new ObjectPropertiesFingerprint(obj, new[] { "A", "B", "C", "D" });
byte[] data;
using (var ms = new MemoryStream())
{
fp1.Save(ser, ms);
data = ms.ToArray();
}
ObjectPropertiesFingerprint fp2;
using (var ms = new MemoryStream(data))
{
fp2 = new ObjectPropertiesFingerprint(ser, ms);
}
fp1.Should().Be(fp2);
}