Beispiel #1
0
        public void CloneWithNewCorrelationId()
        {
            Assert.Throws <ArgumentNullException>(() => _ = ((ClientMessage)null).CloneWithNewCorrelationId(1));

            var m      = new ClientMessage();
            var bytes1 = new byte[256];

            m.Append(new Frame(bytes1));
            var bytes2 = new byte[256];

            m.Append(new Frame(bytes2));
            m.Append(new Frame());

            m.Flags         = ClientMessageFlags.BackupAware;
            m.PartitionId   = 141;
            m.OperationName = "op";
            m.MessageType   = 789;
            m.CorrelationId = 123;

            var clone = m.CloneWithNewCorrelationId(456);

            Assert.That(clone.Flags, Is.EqualTo(m.Flags));
            Assert.That(clone.PartitionId, Is.EqualTo(m.PartitionId));
            Assert.That(clone.OperationName, Is.EqualTo(m.OperationName));
            Assert.That(clone.MessageType, Is.EqualTo(m.MessageType));
            Assert.That(clone.CorrelationId, Is.EqualTo(456));

            Assert.That(clone.FirstFrame.Bytes, Is.Not.SameAs(bytes1));
            Assert.That(clone.FirstFrame.Next.Bytes, Is.SameAs(bytes2));
        }