import Testing @testable import ColibriLibrary struct FileTests { // MARK: Properties tests @Test(arguments: zip(File.allCases, Expectation.fileNames)) func fileName(for file: File, expects fileName: String) async throws { // GIVEN // WHEN let result = file.fileName // THEN #expect(result == fileName) } @Test(arguments: zip(File.allCases, Expectation.filePaths)) func filePath(for file: File, expects filePath: String) async throws { // GIVEN // WHEN let result = file.filePath // THEN #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 // WHEN let result = file.resourcePath // THEN #expect(result == resourcePath) } } // MARK: - Expectations private extension FileTests { enum Expectation { static let fileNames: [String] = [ "Dockerfile", ".dockerignore", ".gitignore", "LICENSE", "Package.swift", "README.md" ] static let filePaths: [String] = [ "Dockerfile", ".dockerignore", ".gitignore", "LICENSE", "Package.swift", "README.md" ] static let folders: [Folder] = [ .root, .root, .root, .root, .root, .root ] static let resourcePaths: [String] = [ "Resources/Files/Sources", "Resources/Files/Sources", "Resources/Files/Sources", "Resources/Files/Sources", "Resources/Files/Sources", "Resources/Files/Sources" ] } }