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)); }