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; } }
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); }
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; } }