public void Move() { PackFile file1 = new PackFile("test.pck"); Assert.IsTrue(file1.AddFile("test1", TestData1), "AddFile returned false"); Assert.IsTrue(file1.AddFile("test2", TestData2), "AddFile returned false"); VerifyFile(file1, "test1", TestData1, "after file2 load"); VerifyFile(file1, "test2", TestData2, "after file2 load"); Assert.AreEqual(2, file1.FileCount, "FileCount mismatch before save"); try { file1.Save(); } catch (Exception ex) { Assert.Fail("Exception when saving file1: " + ex.Message); return; } file1 = null; PackFile file2 = new PackFile("test.pck"); try { file2.Load(); } catch (Exception ex) { Assert.Fail("Exception when loading file2: " + ex.Message); return; } Assert.IsFalse(file2.MoveFile("test1", "test2"), "Bad move was allowed"); Assert.IsTrue(file2.MoveFile("test1", "test3"), "Good move was denied"); Assert.IsFalse(file2.FileExists("test1"), "test1 still exists before load back"); VerifyFile(file2, "test2", TestData2, "after move"); VerifyFile(file2, "test3", TestData1, "after move"); try { file2.Save(); } catch (Exception ex) { Assert.Fail("Exception when saving file2: " + ex.Message); return; } file2 = null; PackFile file3 = new PackFile("test.pck"); try { file3.Load(); } catch (Exception ex) { Assert.Fail("Exception when loading file3 back: " + ex.Message); return; } Assert.IsFalse(file3.FileExists("test1"), "test1 still exists after load back"); VerifyFile(file3, "test2", TestData2, "after file3 load"); VerifyFile(file3, "test3", TestData1, "after file3 load"); }