#pragma once #include #include #include namespace helpers { class ScopedFile { public: explicit ScopedFile(std::string fileName) : fileName_(std::move(fileName)) {} void throwIfExists() const { if (std::filesystem::exists(fileName_)) { throw std::runtime_error("Test file already exists: " + fileName_); } } const std::string &getFileName() const { return fileName_; } ~ScopedFile() noexcept(false) { std::error_code ec; std::filesystem::remove(fileName_, ec); } private: std::string fileName_; }; } // namespace helpers