Exemplo n.º 1
0
        public void DeletePakuStrategyTestError()
        {
            // create some files
            DirectoryInfo dir = new DirectoryInfo(@"C:\foo");

            List <FileInfo> files = new List <FileInfo>();

            files.Add(CreateTestFile("DeletePakuStrategyTestError1.txt", "test1"));
            files.Add(CreateTestFile("DeletePakuStrategyTestError2.txt", "test2"));

            List <VirtualFileInfo> virtualFiles = files.Select(x => new VirtualFileInfo(x)).ToList();

            // insert a non-existent file in the middle
            virtualFiles.Insert(1, new VirtualFileInfo(@"C:\DeletePakuStrategyTestError.notreal"));

            IPakuStrategy strategy = new DeletePakuStrategy();
            PakuResult    result   = strategy.Eat(dir, virtualFiles, null);

            // the operation should be marked as a failure
            // the first file should have been deleted
            Assert.IsFalse(result.Success);
            Assert.IsTrue(result.Error is ArgumentException);

            Assert.AreEqual(1, result.RemovedFiles.Count);
            Assert.IsFalse(result.RemovedFiles[0].ToFileInfo().Exists);

            // the last file should be still be on disk
            Assert.IsTrue(virtualFiles[2].ToFileInfo().Exists);
        }
Exemplo n.º 2
0
        public void DeletePakuStrategyTest()
        {
            // create some files
            DirectoryInfo dir = new DirectoryInfo(@"C:\foo");

            List <FileInfo> files = new List <FileInfo>();

            files.Add(CreateTestFile("DeletePakuStrategyTest1.txt", "test1"));
            files.Add(CreateTestFile("DeletePakuStrategyTest2.txt", "test2"));

            List <VirtualFileInfo> virtualFiles = files.Select(x => new VirtualFileInfo(x)).ToList();

            IPakuStrategy strategy = new DeletePakuStrategy();
            PakuResult    result   = strategy.Eat(dir, virtualFiles, null);

            // all of the files should have been deleted successfully
            Assert.IsTrue(result.Success);
            Assert.AreEqual(virtualFiles.Count, result.RemovedFiles.Count);

            foreach (VirtualFileInfo vfi in virtualFiles)
            {
                FileInfo fi = vfi.ToFileInfo();
                Assert.IsFalse(fi.Exists);
            }

            // and none should have been created
            Assert.AreEqual(0, result.CreatedFiles.Count);
        }