Esempio n. 1
0
        public void ReadAt_BufferSmallerThanCount_ExpectsException()
        {
            const string path = "xxx";
            var msf = new UndisposableMemoryStreamFactory();
            using (var file = new CompoundFile(path, new CompoundFile.CompoundFileOptions(), msf))
            {
                var handle = file.Allocate();
                var data = new byte[255];
                for (byte i = 0; i < 255; i++) data[i] = i;
                file.Write(handle, data, 0, 255);

                var readData = new byte[255];
                var readBytes = file.ReadAt(handle, readData, 0, 512);
                for (byte i = 0; i < 255; i++) Assert.AreEqual(i, readData[i]);
                Assert.AreEqual((uint)255, readBytes);
            }
            var stream = msf.Stream;
            stream.AllowDispose = true;
            stream.Dispose();                                    
        }
Esempio n. 2
0
        public void ReadAt_MultiplePages_NonZeroOffset()
        {
            const string path = "xxx";
            var msf = new UndisposableMemoryStreamFactory();
            using (var file = new CompoundFile(path, new CompoundFile.CompoundFileOptions(), msf))
            {
                var handle = file.Allocate();
                var data = new byte[8000];
                for (int i = 0; i < 8000; i++) data[i] = (byte)(i % 255);
                file.Write(handle, data, 0, 8000);

                var readData = new byte[4000];
                var readBytes = file.ReadAt(handle, readData, 2000, 4000);
                for (int i = 0; i < 4000; i++) Assert.AreEqual(data[i + 2000], readData[i]);
                Assert.AreEqual((uint)4000, readBytes);
            }
            var stream = msf.Stream;
            stream.AllowDispose = true;
            stream.Dispose();            
        }
Esempio n. 3
0
        public void InitializeFile_ReadAt_ExpectsOk()
        {
            const string path = "xxx";
            var msf = new UndisposableMemoryStreamFactory();
            using (var file = new CompoundFile(path, new CompoundFile.CompoundFileOptions(), msf))
            {
                var handle = file.Allocate();
                var data = new byte[255];
                for (byte i = 0; i < 255; i++) data[i] = i;
                file.Write(handle, data, 0, 255);

                var readData = new byte[10];
                file.ReadAt(handle, readData, 10, 10);
                for(byte i=0;i<10;i++) Assert.AreEqual(i + 10, readData[i]);
            }
            var stream = msf.Stream;
            stream.AllowDispose = true;
            stream.Dispose();
        }