예제 #1
0
        public void TempFileStoreDelete()
        {
            IFileStore store = new TempFileStore();

              string fileName = "TestPi.txt";

              // Создаем и добавляем в хранилище файл.
              File.WriteAllText(fileName, "3.1415926");
              store.AddFile(fileName, fileName);

              // Во временном хранилище должен быть добавленный файл.
              Assert.IsTrue(File.Exists(Path.Combine(store.StoreDirectory, fileName)));

              // Удаляем файл из хранилища.
              store.DeleteFile(fileName);

              // Проверяем количество файлов в хранилище.
              Assert.AreEqual(0, store.Files.Count);
              // Во временном хранилище не должно быть добавленного файла.
              Assert.IsFalse(File.Exists(Path.Combine(store.StoreDirectory, fileName)));

              // Удалим исходный файл.
              if (File.Exists(fileName))
            File.Delete(fileName);
        }
예제 #2
0
        public void TempFileStoreDeleteEmptyDirectory()
        {
            IFileStore store = new TempFileStore();

              var files = new[]
              {
            new { ActualPath = "Test1.txt", RelativePath = "Test1.txt" },
            new { ActualPath = "Test2.txt", RelativePath = "Dir1\\Test2.txt" },
            new { ActualPath = "Test3.txt", RelativePath = "Dir1\\Dir2\\Dir3\\Test3.txt" },
            new { ActualPath = "Test4.txt", RelativePath = "Dir1\\Dir2\\Test4.txt" }
              };

              try
              {

            // Создаем файлы и добавляем во временную директорию.
            foreach (var file in files)
            {
              File.WriteAllText(file.ActualPath, "");
              store.AddFile(file.ActualPath, file.RelativePath);
            }

            for (int i = 3; i >= 0; i--)
            {
              store.DeleteFile(files[i].RelativePath);

              string directory = store.StoreDirectory;
              if (i == 3)
              {
            Assert.IsTrue(Directory.Exists(directory + "\\Dir1\\Dir2\\Dir3"));
              }
              else if (i == 2)
              {
            Assert.IsFalse(Directory.Exists(directory + "\\Dir1\\Dir2"));
            Assert.IsTrue(Directory.Exists(directory + "\\Dir1"));
              }
              else if (i == 1)
              {
            Assert.IsFalse(Directory.Exists(directory + "\\Dir1"));
            Assert.IsTrue(Directory.Exists(store.StoreDirectory));
              }
              else if (i == 0)
              {
            Assert.IsTrue(Directory.Exists(store.StoreDirectory));
              }
            }
              }
              finally
              {
            foreach (var file in files)
              if (File.Exists(file.ActualPath))
            File.Delete(file.ActualPath);
              }
        }