diff --git a/cpp/Platform.IO/FileHelpers.h b/cpp/Platform.IO/FileHelpers.h index e9401ba..e8f7633 100644 --- a/cpp/Platform.IO/FileHelpers.h +++ b/cpp/Platform.IO/FileHelpers.h @@ -69,11 +69,11 @@ } } - public: static void DeleteAll(std::string directory) { DeleteAll(directory, "*"); } + public: static void DeleteFiles(std::string directory) { DeleteFiles(directory, "*"); } - public: static void DeleteAll(std::string directory, std::string searchPattern) { DeleteAll(directory, searchPattern, SearchOption.TopDirectoryOnly); } + public: static void DeleteFiles(std::string directory, std::string searchPattern) { DeleteFiles(directory, searchPattern, SearchOption.TopDirectoryOnly); } - public: static void DeleteAll(std::string directory, std::string searchPattern, SearchOption searchOption) + public: static void DeleteFiles(std::string directory, std::string searchPattern, SearchOption searchOption) { foreach (auto file in Directory.EnumerateFiles(directory, searchPattern, searchOption)) { diff --git a/csharp/Platform.IO.Tests/FileHelpersTests.cs b/csharp/Platform.IO.Tests/FileHelpersTests.cs index 3bdba03..d7486de 100644 --- a/csharp/Platform.IO.Tests/FileHelpersTests.cs +++ b/csharp/Platform.IO.Tests/FileHelpersTests.cs @@ -1,3 +1,4 @@ +using System; using System.IO; using Xunit; @@ -15,5 +16,36 @@ public void WriteReadTest() Assert.Equal(readValue, originalValue); File.Delete(temporaryFile); } + + [Fact] + public void DeleteFilesTest() + { + var tempDir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); + Directory.CreateDirectory(tempDir); + + var testFile1 = Path.Combine(tempDir, "test1.txt"); + var testFile2 = Path.Combine(tempDir, "test2.txt"); + var testFile3 = Path.Combine(tempDir, "test3.log"); + + File.WriteAllText(testFile1, "test content"); + File.WriteAllText(testFile2, "test content"); + File.WriteAllText(testFile3, "test content"); + + Assert.True(File.Exists(testFile1)); + Assert.True(File.Exists(testFile2)); + Assert.True(File.Exists(testFile3)); + + FileHelpers.DeleteFiles(tempDir, "*.txt"); + + Assert.False(File.Exists(testFile1)); + Assert.False(File.Exists(testFile2)); + Assert.True(File.Exists(testFile3)); + + FileHelpers.DeleteFiles(tempDir); + + Assert.False(File.Exists(testFile3)); + + Directory.Delete(tempDir); + } } } diff --git a/csharp/Platform.IO/FileHelpers.cs b/csharp/Platform.IO/FileHelpers.cs index fd412a3..5217c98 100644 --- a/csharp/Platform.IO/FileHelpers.cs +++ b/csharp/Platform.IO/FileHelpers.cs @@ -207,7 +207,7 @@ public static void SetSize(string path, long size) /// Путь к директории для очистки. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static void DeleteAll(string directory) => DeleteAll(directory, "*"); + public static void DeleteFiles(string directory) => DeleteFiles(directory, "*"); /// /// Removes files from the directory at the path according to the . @@ -222,7 +222,7 @@ public static void SetSize(string path, long size) /// Шаблон поиска для удаляемых файлов в директории находящейся по пути . /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static void DeleteAll(string directory, string searchPattern) => DeleteAll(directory, searchPattern, SearchOption.TopDirectoryOnly); + public static void DeleteFiles(string directory, string searchPattern) => DeleteFiles(directory, searchPattern, SearchOption.TopDirectoryOnly); /// /// Removes files from the directory at the path according to the and the . @@ -241,7 +241,7 @@ public static void SetSize(string path, long size) /// Значение определяющее искать ли только в текущей директории находящейся по пути , или также во всех субдиректориях. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static void DeleteAll(string directory, string searchPattern, SearchOption searchOption) + public static void DeleteFiles(string directory, string searchPattern, SearchOption searchOption) { foreach (var file in Directory.EnumerateFiles(directory, searchPattern, searchOption)) {