Added tests for non-empty trees deletion

This commit is contained in:
Vladyslav Baranovskyi
2024-10-09 15:39:23 +03:00
parent f3a56d272e
commit e9c0a98095

View File

@@ -41,6 +41,27 @@ TEST_CASE("DeleteEmptySubTrees", "[FsUtils]")
REQUIRE(FsUtils::DeleteEmptySubTrees(baseDir));
REQUIRE(!std::filesystem::exists(baseDir / "emptyTree"));
std::filesystem::create_directories(baseDir / "partialTree" / "subDir1");
std::filesystem::create_directories(baseDir / "partialTree" / "subDir2");
std::ofstream(baseDir / "partialTree" / "subDir2/file.txt").put('x');
REQUIRE(FsUtils::DeleteEmptySubTrees(baseDir / "partialTree"));
REQUIRE(!std::filesystem::exists(baseDir / "partialTree" / "subDir1"));
REQUIRE(std::filesystem::exists(baseDir / "partialTree" / "subDir2"));
REQUIRE(std::filesystem::exists(baseDir / "partialTree" / "subDir2/file.txt"));
std::filesystem::remove(baseDir / "partialTree" / "subDir2/file.txt");
REQUIRE(!std::filesystem::exists(baseDir / "partialTree" / "subDir1"));
REQUIRE(std::filesystem::exists(baseDir / "partialTree" / "subDir2"));
REQUIRE(!std::filesystem::exists(baseDir / "partialTree" / "subDir2/file.txt"));
REQUIRE(FsUtils::DeleteEmptySubTrees(baseDir / "partialTree"));
REQUIRE(!std::filesystem::exists(baseDir / "partialTree" / "subDir1"));
REQUIRE(!std::filesystem::exists(baseDir / "partialTree" / "subDir2"));
std::filesystem::remove_all(baseDir);
}