예제 #1
0
        private void TestBaseCloning(BlobPropertyMsg msg1)
        {
            BlobPropertyMsg msg2;

            msg1._Version   = 66;
            msg1._ToEP      = "logical://to";
            msg1._FromEP    = "logical://from";
            msg1._TTL       = 77;
            msg1._ReceiptEP = "logical://receipt";
            msg1._SessionID = Helper.NewGuid();
            msg1._Flags    |= MsgFlag.Broadcast;
            msg1._MsgID     = Guid.Empty;

            msg2 = (BlobPropertyMsg)msg1.Clone();
            Assert.AreEqual(msg1._Version, msg2._Version);
            Assert.AreEqual(msg1._ToEP, msg2._ToEP);
            Assert.AreEqual(msg1._FromEP, msg2._FromEP);
            Assert.AreEqual(msg1._TTL, msg2._TTL);
            Assert.AreEqual(msg1._ReceiptEP, msg2._ReceiptEP);
            Assert.AreEqual(msg1._SessionID, msg2._SessionID);
            Assert.AreEqual(msg1._Flags, msg2._Flags);
            Assert.AreEqual(msg1._MsgID, msg2._MsgID);

            msg1._MsgID = Helper.NewGuid();
            msg2        = (BlobPropertyMsg)msg1.Clone();
            Assert.AreNotEqual(msg2._MsgID, msg1._MsgID);
        }
예제 #2
0
        public void BlobPropertyMsg_Clone()
        {
            BlobPropertyMsg msg1, msg2;

            msg1            = new BlobPropertyMsg();
            msg1._Version   = 66;
            msg1._ToEP      = "logical://to";
            msg1._FromEP    = "logical://from";
            msg1._TTL       = 77;
            msg1._ReceiptEP = "logical://receipt";
            msg1._SessionID = Helper.NewGuid();
            msg1._Flags    |= MsgFlag.Broadcast;
            msg1._MsgID     = Guid.Empty;
            msg1["foo"]     = "bar";

            Assert.IsNull(msg1._Data);

            msg2 = (BlobPropertyMsg)msg1.Clone();
            Assert.AreEqual(msg1._Version, msg2._Version);
            Assert.AreEqual(msg1._ToEP, msg2._ToEP);
            Assert.AreEqual(msg1._FromEP, msg2._FromEP);
            Assert.AreEqual(msg1._TTL, msg2._TTL);
            Assert.AreEqual(msg1._ReceiptEP, msg2._ReceiptEP);
            Assert.AreEqual(msg1._SessionID, msg2._SessionID);
            Assert.AreEqual(msg1._Flags, msg2._Flags);
            Assert.AreEqual(msg1._MsgID, msg2._MsgID);
            Assert.AreEqual("bar", msg2["foo"]);
            Assert.AreEqual(msg1._Data, msg2._Data);

            msg1._Data = new byte[] { 0, 1, 2 };
            msg2       = (BlobPropertyMsg)msg1.Clone();
            CollectionAssert.AreEqual(msg1._Data, msg2._Data);

            msg1._MsgID = Helper.NewGuid();
            msg2        = (BlobPropertyMsg)msg1.Clone();
            Assert.AreNotEqual(msg2._MsgID, msg1._MsgID);
        }