public async Task DoesntCallLengthPrematurely() { var stream1 = new NoLengthStream(); var stream2 = new MockReadStream(50); var mockTransport = new MockTransport( new MockResponse(200) { ContentStream = stream1 }, new MockResponse(200) { ContentStream = stream2 } ); var pipeline = new HttpPipeline(mockTransport); var reliableStream = RetriableStream.Create(await SendTestRequestAsync(pipeline, 0), offset => SendTestRequestAsync(pipeline, offset), new ResponseClassifier(), maxRetries: 5); Assert.AreEqual(50, await reliableStream.ReadAsync(_buffer, 0, 50)); Assert.AreEqual(50, reliableStream.Position); Assert.AreEqual(0, await reliableStream.ReadAsync(_buffer, 0, 50)); Assert.Throws <NotSupportedException>(() => _ = reliableStream.Length); AssertReads(_buffer, 50); }
public void FromStream_NoLength() { using (var s = new NoLengthStream()) using (var d = NSData.FromStream(s)) { Assert.That(d.Length, Is.EqualTo((nuint)16), "Length"); } }