Template support for input parameters #4
29
Library/Sources/Enumerations/ResourceFile.swift
Normal file
29
Library/Sources/Enumerations/ResourceFile.swift
Normal 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 {}
|
20
Test/Sources/Cases/Enumerations/ResourceFileTests.swift
Normal file
20
Test/Sources/Cases/Enumerations/ResourceFileTests.swift
Normal 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)
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user