コード例 #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());
        }
コード例 #3
0
        public void T8()
        {
            var arr = new byte[] { 1, 2, 3, 4, 5 };
            var s   = new BufferSegmentReadingStream();

            s.BindBuffer(arr, 2, 3);

            Assert.AreEqual(3, s.Length);

            Assert.AreEqual(0, s.Position);
            Assert.AreEqual(3, s.ReadByte());
            Assert.AreEqual(1, s.Position);
            Assert.AreEqual(4, s.ReadByte());
            Assert.AreEqual(2, s.Position);
            Assert.AreEqual(5, s.ReadByte());
            Assert.AreEqual(3, s.Position);
            Assert.AreEqual(-1, s.ReadByte());
            Assert.AreEqual(3, s.Position);

            var arr2 = new byte[] { 101, 102, 103, 104, 105, 106, 107, 108, 109, 110 };

            s.BindBuffer(arr2, 2, 3);

            Assert.AreEqual(3, s.Length);

            Assert.AreEqual(0, s.Position);
            Assert.AreEqual(103, s.ReadByte());
            Assert.AreEqual(1, s.Position);
            Assert.AreEqual(104, s.ReadByte());
            Assert.AreEqual(2, s.Position);
            Assert.AreEqual(105, s.ReadByte());
            Assert.AreEqual(3, s.Position);
            Assert.AreEqual(-1, s.ReadByte());
            Assert.AreEqual(3, s.Position);
        }
コード例 #4
0
        public void T2()
        {
            var arr = new byte[] { 1, 2, 3, 4, 5 };
            var s   = new BufferSegmentReadingStream();

            s.BindBuffer(arr, 0, 3);

            Assert.AreEqual(3, s.Length);

            Assert.AreEqual(0, s.Position);
            Assert.AreEqual(1, s.ReadByte());
            Assert.AreEqual(1, s.Position);
            Assert.AreEqual(2, s.ReadByte());
            Assert.AreEqual(2, s.Position);
            Assert.AreEqual(3, s.ReadByte());
            Assert.AreEqual(3, s.Position);
            Assert.AreEqual(-1, s.ReadByte());
            Assert.AreEqual(3, s.Position);
        }