public async Task Can_seek_from_middle_to_middle()
{
var mockRequest = new MockHttpRequest();
mockRequest.Headers.Add("Range", "bytes=3-5");
var mockResponse = new MockHttpResponse(mockRequest);
string customText = "1234567890";
byte[] customTextBytes = customText.ToUtf8Bytes();
var ms = new MemoryStream();
ms.Write(customTextBytes, 0, customTextBytes.Length);
var httpResult = new HttpResult(ms, "audio/mpeg");
bool reponseWasAutoHandled = await mockResponse.WriteToResponse(mockRequest, httpResult);
Assert.That(reponseWasAutoHandled, Is.True);
string writtenString = mockResponse.ReadAsString();
Assert.That(writtenString, Is.EqualTo("456"));
Assert.That(mockResponse.Headers["Content-Range"], Is.EqualTo("bytes 3-5/10"));
Assert.That(mockResponse.Headers["Content-Length"], Is.EqualTo(writtenString.Length.ToString()));
Assert.That(mockResponse.Headers["Accept-Ranges"], Is.EqualTo("bytes"));
Assert.That(mockResponse.StatusCode, Is.EqualTo(206));
}