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; }