public void CanSerializeObjectWithClosure() { var stream = new MemoryStream(); var serializer = new Serializer(new SerializerOptions()); var hasClosure = new HasClosure(); hasClosure.Create(); serializer.Serialize(hasClosure, stream); stream.Position = 0; var res = serializer.Deserialize <HasClosure>(stream); Assert.NotNull(res); var actual = res.Del(); Assert.Equal(4, actual); }
public void CanSerializeObjectWithClosure() { var hasClosure = new HasClosure(); hasClosure.Create(); var bytes = MessagePackSerializer.Serialize(hasClosure, ContractlessStandardResolverAllowPrivate.Instance); var res = MessagePackSerializer.Deserialize <HasClosure>(bytes, ContractlessStandardResolverAllowPrivate.Instance); Assert.NotNull(res); var actual = res.Del(); Assert.Equal(4, actual); //var json = bytes.ToHex(); //var json = "83A1410AA157A474657374A344656CC90000018B64D9C54D6573736167655061636B2E466F726D6174746572732E496E7465726E616C2E44656C65676174655368696D60315B5B43757465416E742E457874656E73696F6E732E53657269616C697A6174696F6E2E54657374732E44656C656761746554657374732B486173436C6F737572652B3C3E635F5F446973706C6179436C617373395F302C2043757465416E742E457874656E73696F6E732E53657269616C697A6174696F6E2E457874656E73696F6E7354657374735D5D2C204D6573736167655061636B93CE1778943AC41D53797374656D2E46756E6360315B5B53797374656D2E496E7433325D5D81A16103AC3C4372656174653E625F5F30D284E4A3CCC48643757465416E742E457874656E73696F6E732E53657269616C697A6174696F6E2E54657374732E44656C656761746554657374732B486173436C6F737572652B3C3E635F5F446973706C6179436C617373395F302C2043757465416E742E457874656E73696F6E732E53657269616C697A6174696F6E2E457874656E73696F6E73546573747390"; //bytes = ToHex(json); res = MessagePackSerializer.Deserialize <HasClosure>(bytes, ContractlessStandardResolverAllowPrivate.Instance); Assert.NotNull(res); actual = res.Del(); Assert.Equal(4, actual); }