public void Write_NoTap() { byte[] data = Encoding.ASCII.GetBytes("Hello, World!"); var sink = new MemoryStream(); var tee = new TeeStream(sink); tee.Write(data, 0, data.Length); CollectionAssert.AreEqual(data, sink.ToArray()); }
public void TestTeeStream() { MemoryStream ms1 = new MemoryStream(), ms2 = new MemoryStream(); TeeStream stream = new TeeStream(ms1, ms2); byte[] bytes = Encoding.UTF8.GetBytes("Hello, world!"); stream.Write(bytes); Assert.AreEqual(ms1.Position, ms2.Position); TestHelpers.AssertArrayEquals(bytes, ms1.ToArray()); TestHelpers.AssertArrayEquals(bytes, ms2.ToArray()); }
public void Write_Offset() { byte[] data = Encoding.ASCII.GetBytes("Hello, World!"); byte[] buf; using (var mem = new MemoryStream()) { mem.Write(new byte[50]); mem.Write(data); buf = mem.ToArray(); } var sink = new MemoryStream(); var tap = new MemoryStream(); var tee = new TeeStream(sink, writeTap: tap); tee.Write(buf, 50, data.Length); CollectionAssert.AreEqual(data, sink.ToArray()); CollectionAssert.AreEqual(data, tap.ToArray()); }