protected async Task PeekLockWithDeadLetterTestCase(MessageSender messageSender, MessageReceiver messageReceiver, MessageReceiver deadLetterReceiver, int messageCount) { // Send messages await TestUtility.SendMessagesAsync(messageSender, messageCount); // Receive 5 messages and Deadletter them int deadLetterMessageCount = 5; var receivedMessages = await TestUtility.ReceiveMessagesAsync(messageReceiver, deadLetterMessageCount); Assert.True(receivedMessages.Count() == deadLetterMessageCount); await TestUtility.DeadLetterMessagesAsync(messageReceiver, receivedMessages); // Receive and Complete 5 other regular messages receivedMessages = await TestUtility.ReceiveMessagesAsync(messageReceiver, messageCount - deadLetterMessageCount); await TestUtility.CompleteMessagesAsync(messageReceiver, receivedMessages); // TODO: After implementing Receive(WithTimeSpan), Add Try another Receive, We should not get anything. // IEnumerable<BrokeredMessage> dummyMessages = await this.ReceiveMessagesAsync(queueClient, 10); // Assert.True(dummyMessages == null); // Receive 5 DLQ messages and Complete them receivedMessages = await TestUtility.ReceiveMessagesAsync(deadLetterReceiver, deadLetterMessageCount); Assert.True(receivedMessages.Count() == deadLetterMessageCount); await TestUtility.CompleteMessagesAsync(deadLetterReceiver, receivedMessages); }