Add require tests

This commit is contained in:
Alexandr Goncharov 2020-06-12 16:39:10 +03:00 committed by Gitea
parent 9aa4a695f3
commit e8a650d990
1 changed files with 23 additions and 1 deletions

View File

@ -9,7 +9,7 @@ final class ConfigTests: XCTestCase {
config = Config()
}
func testEnvironmentuse() {
func testEnvironmentUse() {
XCTAssertNil(Config(useEnvironment: false)["PATH"])
XCTAssertNotNil(Config(useEnvironment: true)["PATH"])
}
@ -60,6 +60,28 @@ final class ConfigTests: XCTestCase {
XCTAssertEqual(config["double"], 23.5)
}
func testRequire() throws {
XCTAssertThrowsError(try config.require("missingString")) { error in
if case let ConfigurationError.missing(key: key) = error {
XCTAssertEqual(key, "missingString")
} else {
XCTFail("Invalid error type \(error)")
}
}
XCTAssertThrowsError(try config.require("missingLossless") as Int?) { error in
if case let ConfigurationError.missing(key: key) = error {
XCTAssertEqual(key, "missingLossless")
} else {
XCTFail("Invalid error type \(error)")
}
}
config["intKey"] = 42
try XCTAssertEqual("42", config.require("intKey"))
try XCTAssertEqual(42, config.require("intKey"))
}
}
struct MockConfigurationProvider: ConfigurationProvider {