From 6fe45db4f10becb7349788c7a3c70bb9e9bb1eff Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Sat, 18 Jan 2025 12:19:29 +0100 Subject: [PATCH] Implemented the "folder" property for the File enumeration in the library target. --- .../Sources/Internal/Enumerations/File.swift | 8 +++++++- .../Internal/Enumerations/FileTests.swift | 20 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/Library/Sources/Internal/Enumerations/File.swift b/Library/Sources/Internal/Enumerations/File.swift index eccac90..3463a6e 100644 --- a/Library/Sources/Internal/Enumerations/File.swift +++ b/Library/Sources/Internal/Enumerations/File.swift @@ -26,7 +26,13 @@ extension File { var filePath: String { switch self { - default: fileName + default: folder.path + fileName + } + } + + var folder: Folder { + switch self { + default: .root } } diff --git a/Test/Sources/Cases/Internal/Enumerations/FileTests.swift b/Test/Sources/Cases/Internal/Enumerations/FileTests.swift index 35f1d5c..48b71ea 100644 --- a/Test/Sources/Cases/Internal/Enumerations/FileTests.swift +++ b/Test/Sources/Cases/Internal/Enumerations/FileTests.swift @@ -26,6 +26,16 @@ struct FileTests { #expect(result == filePath) } + @Test(arguments: zip(File.allCases, Expectation.folders)) + func folder(for file: File, expects folder: Folder) async throws { + // GIVEN + // WHEN + let result = file.folder + + // THEN + #expect(result == folder) + } + @Test(arguments: zip(File.allCases, Expectation.resourcePaths)) func resourcePath(for file: File, expects resourcePath: String) async throws { // GIVEN @@ -59,6 +69,16 @@ private extension FileTests { "Package.swift", "README.md" ] + + static let folders: [Folder] = [ + .root, + .root, + .root, + .root, + .root, + .root + ] + static let resourcePaths: [String] = [ "Resources/Files",