public async Task WriteAsync() { var main = new MemoryStream(); var other = new MemoryStream(); await using var target = new TeeStream(main, other); await using var wr = new StreamWriter(target); var data = "Test data".AsMemory(); await wr.WriteAsync(data); await wr.FlushAsync(); var other2 = new MemoryStream(); target.Add(other2); await wr.WriteAsync(" after add"); await wr.FlushAsync(); Assert.AreEqual("Test data after add", Read(other)); Assert.AreEqual(" after add", Read(other2)); }
public void WritesToAdded() { using var main = new MemoryStream(); using var other = new MemoryStream(); var target = new TeeStream(main, other); using var wr = new StreamWriter(target); wr.Write("Test"); wr.Flush(); var other2 = new MemoryStream(); target.Add(other2); wr.Write(" after added"); wr.Flush(); Assert.AreEqual("Test after added", Read(main)); Assert.AreEqual("Test after added", Read(other)); Assert.AreEqual(" after added", Read(other2)); }