public async Task GivenAFhirStreamConsumer_WhenConsumeData_ShouldReadAllDataFromStream() { using MemoryStream outputStream = new MemoryStream(); using FhirStreamConsumer consumer = new FhirStreamConsumer(outputStream); int count = await consumer.ConsumeAsync(new List<string>() { "abc", "bcd", ""}); Assert.Equal(3, count); await consumer.CompleteAsync(); outputStream.Position = 0; using StreamReader reader = new StreamReader(outputStream); Assert.Equal("abc", await reader.ReadLineAsync()); Assert.Equal("bcd", await reader.ReadLineAsync()); Assert.Equal("", await reader.ReadLineAsync()); Assert.Null(await reader.ReadLineAsync()); }