Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }