예제 #1
0
        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");
        }