Пример #1
0
        public void SerializedPacket_WriteRead_NestedPacket()
        {
            int             nestCount = 100;
            DataBuffer      buffer    = new DataBuffer();
            TestNestedModel root      = new TestNestedModel();
            var             cur       = root;

            for (int i = 0; i < nestCount; i++)
            {
                cur.Inner      = new TestNestedModel();
                cur.Inner.Data = Guid.NewGuid().ToString();
                cur            = cur.Inner;
            }

            root.WriteTo(buffer);
            buffer.Seek(0);

            TestNestedModel result = new TestNestedModel();

            result.ReadFrom(buffer);

            var cur2 = result;

            cur = root;

            for (int i = 0; i < nestCount; i++)
            {
                Assert.AreEqual(cur.Data, cur2.Data);
                cur  = cur.Inner;
                cur2 = cur2.Inner;
            }
        }
Пример #2
0
        public void DynamicSerializer_WriteReadNestedModel()
        {
            TestNestedModel m = new TestNestedModel();

            m.Inner      = new TestNestedModel();
            m.Data       = "Root";
            m.Inner.Data = "Inner";

            DataBuffer b = new DataBuffer();

            DynamicSerializer.Instance.Write <TestNestedModel>(b, m);

            b.Seek(0);
            var mresult = DynamicSerializer.Instance.Read <TestNestedModel>(b);

            Assert.IsNotNull(mresult);
            Assert.IsNotNull(mresult.Inner);
            Assert.IsNotNull(mresult.Data);
            Assert.IsNotNull(mresult.Inner.Data);
            Assert.AreEqual(m.Data, mresult.Data);
            Assert.AreEqual(m.Inner.Data, mresult.Inner.Data);
        }
Пример #3
0
        public void DynamicPacket_WriteRead_NestedModel()
        {
            int             nestCount = 100;
            DataBuffer      buffer    = new DataBuffer();
            TestNestedModel root      = new TestNestedModel();
            var             cur       = root;

            for (int i = 0; i < nestCount; i++)
            {
                cur.Inner      = new TestNestedModel();
                cur.Inner.Data = Guid.NewGuid().ToString();
                cur            = cur.Inner;
            }

            Packet <TestNestedModel> packet = new Packet <TestNestedModel>();

            packet.Model = root;

            packet.WriteTo(buffer);
            buffer.Seek(0);

            Packet <TestNestedModel> result = new Packet <TestNestedModel>();

            result.ReadFrom(buffer);

            var cur2 = result.Model;

            cur = root;

            for (int i = 0; i < nestCount; i++)
            {
                Assert.AreEqual(cur.Data, cur2.Data);
                cur  = cur.Inner;
                cur2 = cur2.Inner;
            }
        }