public void DeserializeWithLazy() { var deserializer = MakeDeserializer <IWithLazy <IFoo>, CompactBinaryReader <InputStream> >(); IWithLazy <IFoo> from = new WithLazyFoo { LazyT = new LazyFoo <CompactBinaryReader <InputStream> >(MakeRandom <IFoo, CompactBinaryReader <InputStream> >()), LazyFoo = new LazyFoo <CompactBinaryReader <InputStream> >(MakeRandom <IFoo, CompactBinaryReader <InputStream> >()) }; if (from.LazyFoo.List != null) { from.LazyFoo.List.Add("end"); } var stream = new MemoryStream(); Util.SerializeCB(from, stream); stream.Position = 0; var input = new InputStream(stream); var reader = new CompactBinaryReader <InputStream>(input); var to = deserializer.Deserialize <IWithLazy <IFoo> >(reader); Assert.IsTrue(Comparer.Equal(from, to)); }
public void CloningWithLazy() { var cloner = MakeCloner <IWithLazy <IFoo>, CompactBinaryReader <InputStream> >(); IWithLazy <IFoo> from = new WithLazyFoo { LazyT = new LazyFoo <CompactBinaryReader <InputStream> >(MakeRandom <IFoo, CompactBinaryReader <InputStream> >()), LazyFoo = new LazyFoo <CompactBinaryReader <InputStream> >(MakeRandom <IFoo, CompactBinaryReader <InputStream> >()) }; var to = cloner.Clone <IWithLazy <IFoo> >(from); Assert.IsTrue(Comparer.Equal(from, to)); }