public void AsReadOnlyReturnsTheMessages()
        {
            var maximumSize = 5000;
            var options     = new CreateMessageBatchOptions {
                MaxSizeInBytes = maximumSize
            };
            var batchMessages = new ServiceBusMessage[5];

            var batch = new AmqpMessageBatch(options);

            for (var index = 0; index < batchMessages.Length; ++index)
            {
                batchMessages[index] = new ServiceBusMessage(Array.Empty <byte>());
                batch.TryAddMessage(batchMessages[index]);
            }

            var batchReadOnly = batch.AsReadOnly <ServiceBusMessage>();

            Assert.That(batchReadOnly, Is.Not.Null, "The batch enumerable should have been populated.");
            Assert.That(batchReadOnly.Count, Is.EqualTo(batch.Count), "The wrong number of messages was in the enumerable.");

            for (var index = 0; index < batchMessages.Length; ++index)
            {
                Assert.That(batchReadOnly.Contains(batchMessages[index]), $"The message at index: { index } was not in the enumerable.");
            }
        }
        public void AsReadOnlyValidatesTheTypeParameter()
        {
            var options = new CreateMessageBatchOptions {
                MaxSizeInBytes = 5000
            };

            var batch = new AmqpMessageBatch(options);

            Assert.That(() => batch.AsReadOnly <AmqpMessage>(), Throws.InstanceOf <FormatException>());
        }