public void Test_Can_Serialize_Collections_With_Multiple_Inheritance_Type() { ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); ProtobufnetDeserializerStrategy deserializer = new ProtobufnetDeserializerStrategy(); ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(TestClassBase)); registry.Register(typeof(TestClassChild1)); registry.Register(typeof(TestClassChild2)); TestClassBase testObject = new TestClassChild2() { i = 5, j = 6, k = new int[] { 1, 2, 3, 4 } }; TestClassChild2 child = deserializer.Deserialize <TestClassBase>(serializer.Serialize(testObject)) as TestClassChild2; Assert.AreEqual(5, child.i); Assert.AreEqual(6, child.j); Assert.AreEqual(4, child.k.Count()); for (int i = 0; i < child.k.Count(); i++) { Assert.AreEqual(i + 1, child.k[i]); } }
public void Test_Can_Serialize_Payloads_With_Collections() { ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); ProtobufnetDeserializerStrategy deserializer = new ProtobufnetDeserializerStrategy(); ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(NetworkMessage)); registry.Register(typeof(ResponseMessage)); registry.Register(typeof(GameServerListResponsePayload)); GameServerListResponsePayload payload = new GameServerListResponsePayload(GameServerListResponseCode.Success, new List <SimpleGameServerDetailsModel>(8) { new SimpleGameServerDetailsModel("Hello", IPAddress.Any, 5, ServerRegion.EU) }); ResponseMessage rMessage = new ResponseMessage(payload); rMessage.Payload.Serialize(serializer); ResponseMessage rMessageDeserializer = deserializer.Deserialize <NetworkMessage>(serializer.Serialize(rMessage as NetworkMessage)) as ResponseMessage; rMessageDeserializer.Payload.Deserialize(deserializer); GameServerListResponsePayload dPayload = rMessageDeserializer.Payload.Data as GameServerListResponsePayload; Assert.AreEqual(1, dPayload.GameServerDetails.Count()); Assert.AreEqual("Hello", dPayload.GameServerDetails.FirstOrDefault().Name); }
public void Test_Can_Serialize_Collections_With_Multiple_Inheritance_Type() { ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); ProtobufnetDeserializerStrategy deserializer = new ProtobufnetDeserializerStrategy(); ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(TestClassBase)); registry.Register(typeof(TestClassChild1)); registry.Register(typeof(TestClassChild2)); TestClassBase testObject = new TestClassChild2() { i = 5, j = 6, k = new int[] { 1, 2, 3, 4 } }; TestClassChild2 child = deserializer.Deserialize<TestClassBase>(serializer.Serialize(testObject)) as TestClassChild2; Assert.AreEqual(5, child.i); Assert.AreEqual(6, child.j); Assert.AreEqual(4, child.k.Count()); for (int i = 0; i < child.k.Count(); i++) Assert.AreEqual(i + 1, child.k[i]); }
public void Test_Can_Serialize_Payloads_With_Collections() { ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); ProtobufnetDeserializerStrategy deserializer = new ProtobufnetDeserializerStrategy(); ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(NetworkMessage)); registry.Register(typeof(ResponseMessage)); registry.Register(typeof(GameServerListResponsePayload)); GameServerListResponsePayload payload = new GameServerListResponsePayload(GameServerListResponseCode.Success, new List<SimpleGameServerDetailsModel>(8) { new SimpleGameServerDetailsModel("Hello", IPAddress.Any, 5, ServerRegion.EU) }); ResponseMessage rMessage = new ResponseMessage(payload); rMessage.Payload.Serialize(serializer); ResponseMessage rMessageDeserializer = deserializer.Deserialize<NetworkMessage>(serializer.Serialize(rMessage as NetworkMessage)) as ResponseMessage; rMessageDeserializer.Payload.Deserialize(deserializer); GameServerListResponsePayload dPayload = rMessageDeserializer.Payload.Data as GameServerListResponsePayload; Assert.AreEqual(1, dPayload.GameServerDetails.Count()); Assert.AreEqual("Hello", dPayload.GameServerDetails.FirstOrDefault().Name); }