public static void Test_Serialized_Stack_Results_In_Same_Order() { ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(NetworkMessage)); registry.Register(typeof(RequestMessage)); registry.Register(typeof(EventMessage)); registry.Register(typeof(ResponseMessage)); RequestMessage message = new RequestMessage(new StatusChangePayload(Common.NetStatus.Connected)); message.Push(1); message.Push(2); message.Push(3); message.Push(4); ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); Assert.NotNull((new ProtobufnetDeserializerStrategy()).Deserialize<RequestMessage>(serializer.Serialize(message as NetworkMessage))); RequestMessage deserializedMessage = (new ProtobufnetDeserializerStrategy()).Deserialize<RequestMessage>(serializer.Serialize(message as NetworkMessage)); //check that the stack is in the same order Assert.AreEqual(message.Pop(), deserializedMessage.Pop()); Assert.AreEqual(message.Pop(), deserializedMessage.Pop()); Assert.AreEqual(message.Pop(), deserializedMessage.Pop()); Assert.AreEqual(message.Pop(), deserializedMessage.Pop()); }
public static void Test_Probuf_Serializes_Message_And_Serializes_Message_With_Payload() { ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(NetworkMessage)); registry.Register(typeof(RequestMessage)); registry.Register(typeof(RequestMessage)); registry.Register(typeof(EventMessage)); registry.Register(typeof(ResponseMessage)); registry.Register(typeof(StatusMessage)); registry.Register(typeof(NetSendable<>)); registry.Register(typeof(NetSendable<PacketPayload>)); registry.Register(typeof(TestPayload)); RequestMessage message = new RequestMessage(new TestPayload()); message.Payload.Serialize(new ProtobufnetSerializerStrategy()); message.Payload.Deserialize(new ProtobufnetDeserializerStrategy()); Assert.NotNull(message.Payload.Data); message.Payload.Serialize(new ProtobufnetSerializerStrategy()); message.Push(1); message.Pop(); ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); Assert.NotNull((new ProtobufnetDeserializerStrategy()).Deserialize<NetworkMessage>(serializer.Serialize(message as NetworkMessage)).Payload); }
public static void Test_Protobufnet_Can_Serialize_NetSendablePackPayload() { ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(TestSerialization)); TestSerialization netsendable = new TestSerialization(new TestPayload()); ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); Assert.NotNull((new ProtobufnetDeserializerStrategy()).Deserialize <TestSerialization>(serializer.Serialize(netsendable))); }
public static void Test_Protobufnet_Can_Serialize_NetSendablePackPayload() { ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(TestSerialization)); TestSerialization netsendable = new TestSerialization(new TestPayload()); ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); Assert.NotNull((new ProtobufnetDeserializerStrategy()).Deserialize<TestSerialization>(serializer.Serialize(netsendable))); }
public static void Test_Can_Serialize_MessageType() { ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(NetworkMessage)); registry.Register(typeof(RequestMessage)); RequestMessage message = new RequestMessage(Mock.Of<PacketPayload>()); ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); Assert.NotNull(serializer.Serialize(message)); }
public static void Test_Can_Serialize_MessageType() { ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(NetworkMessage)); registry.Register(typeof(RequestMessage)); RequestMessage message = new RequestMessage(Mock.Of <PacketPayload>()); ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); Assert.NotNull(serializer.Serialize(message)); }
public static void Test_Can_Deserialize_MessageType() { ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(NetworkMessage)); registry.Register(typeof(RequestMessage)); registry.Register(typeof(EventMessage)); registry.Register(typeof(ResponseMessage)); RequestMessage message = new RequestMessage(new StatusChangePayload(Common.NetStatus.Connected)); ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); Assert.NotNull((new ProtobufnetDeserializerStrategy()).Deserialize<RequestMessage>(serializer.Serialize(message as NetworkMessage))); }
public static void Test_Can_Deserialize_MessageType() { ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(NetworkMessage)); registry.Register(typeof(RequestMessage)); registry.Register(typeof(EventMessage)); registry.Register(typeof(ResponseMessage)); RequestMessage message = new RequestMessage(new StatusChangePayload(Common.NetStatus.Connected)); ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); Assert.NotNull((new ProtobufnetDeserializerStrategy()).Deserialize <RequestMessage>(serializer.Serialize(message as NetworkMessage))); }
public static void Test_Serialized_Stack_Empty_Results_In_Not_Throw() { ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(NetworkMessage)); registry.Register(typeof(RequestMessage)); registry.Register(typeof(EventMessage)); registry.Register(typeof(ResponseMessage)); RequestMessage message = new RequestMessage(new StatusChangePayload(Common.NetStatus.Connected)); message.Push(1); message.Pop(); ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); Assert.DoesNotThrow(() => (new ProtobufnetDeserializerStrategy()).Deserialize <RequestMessage>(serializer.Serialize(message as NetworkMessage))); }
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 static void Test_Serialized_Stack_Empty_Results_In_Not_Throw() { ProtobufnetRegistry registry = new ProtobufnetRegistry(); registry.Register(typeof(NetworkMessage)); registry.Register(typeof(RequestMessage)); registry.Register(typeof(EventMessage)); registry.Register(typeof(ResponseMessage)); RequestMessage message = new RequestMessage(new StatusChangePayload(Common.NetStatus.Connected)); message.Push(1); message.Pop(); ProtobufnetSerializerStrategy serializer = new ProtobufnetSerializerStrategy(); Assert.DoesNotThrow(() => (new ProtobufnetDeserializerStrategy()).Deserialize<RequestMessage>(serializer.Serialize(message as NetworkMessage))); }