public async Task AcknowledgeAndRetry_RetriedAreStillEnqueued() { for (var i = 0; i < 5; i++) { await _queue.WriteAsync( _sampleOutboundEnvelope.Message, _sampleOutboundEnvelope.RawMessage.ReadAll(), _sampleOutboundEnvelope.Headers, _sampleOutboundEnvelope.Endpoint.Name, _sampleOutboundEnvelope.ActualEndpointName); } await _queue.CommitAsync(); var result = (await _queue.ReadAsync(5)).ToArray(); await _queue.AcknowledgeAsync(result[0]); await _queue.RetryAsync(result[1]); await _queue.AcknowledgeAsync(result[2]); await _queue.RetryAsync(result[3]); await _queue.AcknowledgeAsync(result[4]); (await _queue.GetLengthAsync()).Should().Be(2); }