示例#1
0
        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));
        }
示例#2
0
        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));
        }