Implemented the "allCasesWithRoot" static property for the Folder enumeration in the library target.

This commit is contained in:
Javier Cicchelli 2025-01-18 12:31:13 +01:00
parent 6fe45db4f1
commit 3f8651ca52
2 changed files with 18 additions and 3 deletions

View File

@ -30,4 +30,19 @@ extension Folder {
// MARK: - CaseIterable // MARK: - CaseIterable
extension Folder: CaseIterable {} extension Folder: CaseIterable {
// MARK: Properties
static var allCases: [Folder] {[
.app,
.libraryPublic,
.libraryInternal,
.testCasesPublic,
.testCasesInternal,
.testHelpers
]}
static var allCasesWithRoot: [Folder] { [.root] + Folder.allCases }
}

View File

@ -6,7 +6,7 @@ struct FolderTests {
// MARK: Properties tests // MARK: Properties tests
@Test(arguments: zip(Folder.allCases, Expectation.paths)) @Test(arguments: zip(Folder.allCasesWithRoot, Expectation.paths))
func paths(for folder: Folder, expects path: String) async throws { func paths(for folder: Folder, expects path: String) async throws {
// GIVEN // GIVEN
// WHEN // WHEN
@ -23,10 +23,10 @@ struct FolderTests {
private extension FolderTests { private extension FolderTests {
enum Expectation { enum Expectation {
static let paths: [String] = [ static let paths: [String] = [
"",
"App/Sources", "App/Sources",
"Library/Sources/Public", "Library/Sources/Public",
"Library/Sources/Internal", "Library/Sources/Internal",
"",
"Test/Sources/Cases/Public", "Test/Sources/Cases/Public",
"Test/Sources/Cases/Internal", "Test/Sources/Cases/Internal",
"Test/Sources/Helpers" "Test/Sources/Helpers"