Пример #1
0
        public void TestMisc1()
        {
            //
            // write
            //
            int bufferSize = DurableFileStream.BLOCK_SIZE;
            byte[] writeBuffer = new byte[bufferSize];
            Helper.SetArrayRandomly(writeBuffer);
            DurableFileStream dfs = new DurableFileStream("TestMisc1.dat", true);
            dfs.Write(writeBuffer, 0, bufferSize);

            dfs.Abort();

            Helper.SetArrayRandomly(writeBuffer);
            dfs.Write(writeBuffer, 0, bufferSize);
            dfs.Commit();
            dfs.Close();

            //
            // read
            //
            dfs = new DurableFileStream("TestMisc1.dat", false);
            byte[] readBuffer = new byte[bufferSize];
            dfs.Read(readBuffer, 0, bufferSize);
            Assert.IsTrue(Helper.IsArrayEmpty(readBuffer));

            dfs.Read(readBuffer, 0, bufferSize);
            Assert.IsTrue(Helper.EqualArray(readBuffer, writeBuffer));
            dfs.Close();
        }
Пример #2
0
        public void TestMisc2()
        {
            //
            // write
            //
            int bufferSize = DurableFileStream.BLOCK_SIZE;
            byte[] writeBuffer1 = new byte[bufferSize];
            Helper.SetArrayRandomly(writeBuffer1);
            DurableFileStream dfs = new DurableFileStream("TestMisc2.dat", true);
            dfs.Write(writeBuffer1, 0, bufferSize);
            dfs.Commit();

            byte[] writeBuffer2 = new byte[bufferSize];
            Helper.SetArrayRandomly(writeBuffer2);
            dfs.Write(writeBuffer2, 0, bufferSize);

            Assert.AreEqual<long>(dfs.Length, 2 * DurableFileStream.BLOCK_SIZE);
            Assert.AreEqual<long>(dfs.Position, 2 * DurableFileStream.BLOCK_SIZE);

            dfs.Abort();

            Assert.AreEqual<long>(dfs.Length, 1 * DurableFileStream.BLOCK_SIZE);
            Assert.AreEqual<long>(dfs.Position, 2 * DurableFileStream.BLOCK_SIZE);

            dfs.Close();

            //
            // read
            //
            dfs = new DurableFileStream("TestMisc2.dat", false);
            Assert.AreEqual<long>(dfs.Length, DurableFileStream.BLOCK_SIZE);
            Assert.AreEqual<long>(dfs.Position, 0);

            byte[] readBuffer = new byte[bufferSize];
            dfs.Read(readBuffer, 0, bufferSize);
            Assert.IsTrue(Helper.EqualArray(readBuffer, writeBuffer1));

            Assert.AreEqual<long>(dfs.Length, DurableFileStream.BLOCK_SIZE);
            Assert.AreEqual<long>(dfs.Position, DurableFileStream.BLOCK_SIZE);

            dfs.Close();
        }
Пример #3
0
        private void ExecuteWriteRead_Abort(string filename, byte[] writeBuffer)
        {
            int bufferSize = writeBuffer.Length;

            //  Writer
            DurableFileStream dfs = new DurableFileStream(filename, true);
            dfs.Write(writeBuffer, 0, bufferSize);
            Assert.AreEqual<long>(dfs.Position, bufferSize);
            Assert.AreEqual<long>(dfs.Length, bufferSize);
            dfs.Abort();
            dfs.Close();

            // Reader
            dfs = new DurableFileStream(filename, false);
            byte[] readBuffer = new byte[bufferSize];
            dfs.Read(readBuffer, 0, bufferSize);
            Assert.AreEqual<long>(dfs.Position, 0);
            Assert.AreEqual<long>(dfs.Length, 0);
            dfs.Close();

            // Validate
            Assert.IsTrue(!Helper.EqualArray(writeBuffer, readBuffer));
        }