Exemple #1
0
        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());
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        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());
        }