Example #1
0
        public void ReadBlocks()
        {
            BlockStream s = new BlockStream(new Block(new byte[] { 0, 1, 2, 3, 4 }), new Block(new byte[] { 5, 6, 7, 8, 9 }));
            BlockArray  ba;

            Assert.Equal(0, s.Position);

            ba = s.ReadBlocks(10);
            Assert.Equal(new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, ba.ToByteArray());
            Assert.Equal(10, ba.Size);
            Assert.Equal(10, s.Position);

            s.Position = 5;
            ba         = s.ReadBlocks(10);
            Assert.Equal(new byte[] { 5, 6, 7, 8, 9 }, ba.ToByteArray());
            Assert.Equal(5, ba.Size);
            Assert.Equal(10, s.Position);

            s.Position = 3;
            ba         = s.ReadBlocks(5);
            Assert.Equal(new byte[] { 3, 4, 5, 6, 7 }, ba.ToByteArray());
            Assert.Equal(8, s.Position);

            s.Position = 0;
        }