Пример #1
0
 public MockConnexion()
 {
     Active = false;
     Identity = 0;
     SentPackets = new List<TransportPacket>();
     Marshaller = new DotNetSerializingMarshaller();
     Transports = new List<ITransport>();
 }
Пример #2
0
        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();
        }