public void Serialize_should_call_implemented_serializer() { var ser = new StacksSerializationHandler(messageClient.Object, serializer.Object, messageHandler.Object); var test = CreateSampleTestData(); var ms = new MemoryStream(); ser.Serialize<TestData>(test, ms); serializer.Verify(s => s.Serialize<TestData>(test, ms)); }
public void Serialize_should_call_implemented_serializer() { var ser = new StacksSerializationHandler(new MessageIdCache(), messageClient.Object, serializer.Object, messageHandler.Object); var test = CreateSampleTestData(); var ms = new MemoryStream(); ser.Serialize <TestData>(test, ms); serializer.Verify(s => s.Serialize <TestData>(test, ms)); }
public void Deserialize_should_throw_exception_when_trying_to_deserialize_packet_without_handler() { var h = new Mock<TestDataHandler>(); serializer.Setup(s => s.CreateDeserializer<TestData>()).Returns(ms => CreateSampleTestData()); var ser = new StacksSerializationHandler(messageClient.Object, serializer.Object, h.Object); Assert.Throws(typeof(InvalidOperationException), () => { ser.Deserialize(4, new MemoryStream()); }); }
private MessageClient(IMessageIdCache messageIdCache, IFramedClient framedClient, IStacksSerializer packetSerializer, IMessageHandler messageHandler) : base(framedClient, messageIdCache, packetSerializer) { this.packetSerializationHandler = new StacksSerializationHandler( messageIdCache, this, packetSerializer, messageHandler); this.framedClient.Received.Subscribe(PacketReceived); }
public void Deserialize_should_throw_exception_when_trying_to_deserialize_packet_without_handler() { var h = new Mock <TestDataHandler>(); serializer.Setup(s => s.Deserialize <TestData>(It.IsAny <MemoryStream>())).Returns(CreateSampleTestData()); var ser = new StacksSerializationHandler(new MessageIdCache(), messageClient.Object, serializer.Object, h.Object); Assert.Throws(typeof(InvalidOperationException), () => { ser.Deserialize(4, new MemoryStream()); }); }
public void Deserialize_should_call_appropriate_handler() { var h = new Mock<MultiTestDataHandler>(); var data = CreateSampleTestData2(); serializer.Setup(s => s.CreateDeserializer<TestData>()).Returns(ms => CreateSampleTestData()); serializer.Setup(s => s.CreateDeserializer<TestData2>()).Returns(ms => CreateSampleTestData2()); serializer.Setup(s => s.CreateDeserializer<TestData3>()).Returns(ms => new TestData3()); h.Setup(m => m.HandleTestData3(It.IsAny<IMessageClient>(), It.IsAny<TestData2>())).Callback((IMessageClient _, TestData2 c) => { Assert.Equal(data.Foo2, c.Foo2); }); var ser = new StacksSerializationHandler(messageClient.Object, serializer.Object, h.Object); ser.Deserialize(3, new MemoryStream()); h.Verify(m => m.HandleTestData3(It.IsAny<IMessageClient>(), It.IsAny<TestData2>()), Times.Once()); }
public void Deserialize_should_call_appropriate_handler() { var h = new Mock <MultiTestDataHandler>(); var data = CreateSampleTestData2(); serializer.Setup(s => s.Deserialize <TestData>(It.IsAny <MemoryStream>())).Returns(CreateSampleTestData()); serializer.Setup(s => s.Deserialize <TestData2>(It.IsAny <MemoryStream>())).Returns(CreateSampleTestData2()); serializer.Setup(s => s.Deserialize <TestData3>(It.IsAny <MemoryStream>())).Returns(new TestData3()); h.Setup(m => m.HandleTestData2(It.IsAny <IMessageClient>(), It.IsAny <TestData2>())).Callback((IMessageClient _, TestData2 c) => { Assert.Equal(data.Foo2, c.Foo2); }); var ser = new StacksSerializationHandler(new MessageIdCache(), messageClient.Object, serializer.Object, h.Object); ser.Deserialize(2, new MemoryStream()); h.Verify(m => m.HandleTestData3(It.IsAny <IMessageClient>(), It.IsAny <TestData2>()), Times.Once()); }