Defined the ResourceFile enumeration in the library target and also, implemented its "fileName" computed property.

This commit is contained in:
Javier Cicchelli 2025-01-18 01:45:29 +01:00
parent b8d5bea7ae
commit 647c5bd32a
3 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,29 @@
enum ResourceFile: String {
case dockerIgnore = "docker_ignore"
case gitIgnore = "git_ignore"
case license
case package
case readme
}
// MARK: - Properties
extension ResourceFile {
// MARK: Computed
var fileName: String {
switch self {
case .dockerIgnore: return ".dockerignore"
case .gitIgnore: return ".gitignore"
case .license: return "LICENSE"
case .readme: return "README.md"
case .package: return "Package.swift"
}
}
}
// MARK: - CaseIterable
extension ResourceFile: CaseIterable {}

View File

@ -0,0 +1,20 @@
import Testing
@testable import ColibriLibrary
struct ResourceFileTests {
// MARK: Properties tests
@Test(arguments: zip(ResourceFile.allCases,
[".dockerignore", ".gitignore", "LICENSE", "Package.swift", "README.md"]))
func fileName(for resource: ResourceFile, expects fileName: String) async throws {
// GIVEN
// WHEN
let result = resource.fileName
// THEN
#expect(result == fileName)
}
}