コード例 #1
0
        public void T6()
        {
            var arr = new byte[] { 1, 2, 3, 4, 5 };
            var s   = new BufferSegmentReadingStream();
            var ms  = new MemoryStream(arr, 2, 3);

            s.BindBuffer(arr, 2, 3);

            Assert.AreEqual(3, ms.Length);
            Assert.AreEqual(3, s.Length);

            s.Seek(1, SeekOrigin.Current);
            ms.Seek(1, SeekOrigin.Current);
            Assert.AreEqual(1, ms.Position);
            Assert.AreEqual(4, ms.ReadByte());
            Assert.AreEqual(1, s.Position);
            Assert.AreEqual(4, s.ReadByte());

            s.Seek(-1, SeekOrigin.Current);
            ms.Seek(-1, SeekOrigin.Current);
            Assert.AreEqual(1, ms.Position);
            Assert.AreEqual(4, ms.ReadByte());
            Assert.AreEqual(1, s.Position);
            Assert.AreEqual(4, s.ReadByte());
        }
コード例 #2
0
        public void T4()
        {
            var arr = new byte[] { 1, 2, 3, 4, 5 };
            var s   = new BufferSegmentReadingStream();
            var ms  = new MemoryStream(arr, 2, 3);

            s.BindBuffer(arr, 2, 3);

            Aver.AreEqual(3, ms.Length);
            Aver.AreEqual(3, s.Length);

            s.Seek(-1, SeekOrigin.End);
            ms.Seek(-1, SeekOrigin.End);
            Aver.AreEqual(2, ms.Position);
            Aver.AreEqual(5, ms.ReadByte());
            Aver.AreEqual(2, s.Position);
            Aver.AreEqual(5, s.ReadByte());

            s.Seek(0, SeekOrigin.End);
            ms.Seek(0, SeekOrigin.End);
            Aver.AreEqual(3, ms.Position);
            Aver.AreEqual(-1, ms.ReadByte());
            Aver.AreEqual(3, s.Position);
            Aver.AreEqual(-1, s.ReadByte());
        }