public MockConnexion() { Active = false; Identity = 0; SentPackets = new List<TransportPacket>(); Marshaller = new DotNetSerializingMarshaller(); Transports = new List<ITransport>(); }
public void TestRawMessage() { IMarshaller dnsm = new DotNetSerializingMarshaller(); string s = "this is a test of faith"; MarshalledResult mr = (MarshalledResult)dnsm.Marshal(0, new StringMessage(0, s), new NullTransport()); Assert.AreEqual(1, mr.Packets.Count); byte[] originalBytes = mr.Packets[0].ToArray(); IMarshaller rawm = new LightweightDotNetSerializingMarshaller(); Message msg = null; TransportPacket tp = mr.RemovePacket(); rawm.Unmarshal(tp, new NullTransport(), (sender, mea) => msg = mea.Message); tp.Dispose(); Assert.IsFalse(mr.HasPackets); Assert.IsInstanceOfType(typeof(LightweightDotNetSerializingMarshaller.RawMessage), msg); Assert.AreEqual(0, msg.ChannelId); Assert.AreEqual(MessageType.String, msg.MessageType); mr.Dispose(); MarshalledResult mr2 = (MarshalledResult)rawm.Marshal(0, msg, new NullTransport()); Assert.AreEqual(1, mr2.Packets.Count); Assert.AreEqual(originalBytes, mr2.Packets[0].ToArray()); msg = null; Assert.IsNull(msg); tp = mr2.RemovePacket(); dnsm.Unmarshal(tp, new NullTransport(), (sender, mea) => msg = mea.Message); tp.Dispose(); Assert.IsFalse(mr2.HasPackets); Assert.IsInstanceOfType(typeof(StringMessage), msg); Assert.AreEqual(0, msg.ChannelId); Assert.AreEqual(MessageType.String, msg.MessageType); Assert.AreEqual(s, ((StringMessage)msg).Text); mr2.Dispose(); }