public void ReopenTest()
        {
            const string arrayName = "ReopenLLTest";
            const int elementSize = 7;
            const int userHeaderSize = 33;
            ILinkedList ll = InitPLL(arrayName, elementSize, userHeaderSize);
            try
            {
                byte[] firstBytes = new byte[] { 1, 1, 1, 1, 1, 1, 1, };
                byte[] secondBytes = new byte[] { 2, 2, 2, 2, 2, 2, 2, };
                byte[] thirdBytes = new byte[] { 3, 3, 3, 3, 3 ,3,3};
                byte[] fourthBytes = new byte[] { 4, 4, 4, 4, 4, 4, 4 };
                ll.AddToEnd(firstBytes);
                ll.AddToEnd(secondBytes);
                ll.AddToEnd(thirdBytes);
                ll.AddToEnd(fourthBytes);
                Assert.AreEqual(4, ll.Length());

                ll.Close();

                ll = new PersistentLinkedList(arrayName);
                Assert.AreEqual(4, ll.Length());

                Assert.AreEqual(elementSize, ll.GetElementSize());
                Assert.AreEqual(userHeaderSize, ll.GetUserHeaderSize());

                int first = ll.GetFirst();
                TestHelper.AssertByteArraysAreSame(firstBytes, ll.GetData(first));
                int second = ll.GetNext(first);
                TestHelper.AssertByteArraysAreSame(secondBytes, ll.GetData(second));
                int third = ll.GetNext(second);
                TestHelper.AssertByteArraysAreSame(thirdBytes, ll.GetData(third));
                int fourth = ll.GetNext(third);
                TestHelper.AssertByteArraysAreSame(fourthBytes, ll.GetData(fourth));

            }
            finally
            {
                ll.Close();
            }
        }
 private PersistentLinkedList InitPLL(string arrayName, int elementSize, int userHeaderSize)
 {
     PersistentLinkedList pll;
     try
     {
         pll = new PersistentLinkedList(arrayName, elementSize, userHeaderSize);
     }
     catch (FileNameConflictException)
     {
         pll = new PersistentLinkedList(arrayName);
         pll.Delete();
         pll = new PersistentLinkedList(arrayName, elementSize, userHeaderSize);
     }
     return pll;
 }
 public void DeleteTest()
 {
     string llName = "LLDelete";
     ILinkedList ll = InitPLL(llName, 16, 8);
     try
     {
         ll.Delete();
         ll = new PersistentLinkedList(llName, 16, 16);
     }
     finally
     {
         ll.Delete();
     }
 }