import XCTest import AutoCat2 class SettingsTests: XCTestCase { private var settings: Settings! override func setUpWithError() throws { guard let userDefaults = UserDefaults(suiteName: #file) else { throw CocoaError.error("Failed to create UserDefaults") } userDefaults.removePersistentDomain(forName: #file) self.settings = Settings(defaults: userDefaults) } override func tearDownWithError() throws { // Put teardown code here. This method is called after the invocation of each test method in the class. } func testAlternativeOrder() { XCTAssert(self.settings.recognizeAlternativeOrder == false, "recognizeAlternativeOrder: wrong default value") self.settings.recognizeAlternativeOrder = true XCTAssert(self.settings.recognizeAlternativeOrder == true, "recognizeAlternativeOrder: failed to change value") } func testShortenedNumbers() { XCTAssert(self.settings.recognizeShortenedNumbers == false, "recognizeShortenedNumbers: wrong default value") self.settings.recognizeShortenedNumbers = true XCTAssert(self.settings.recognizeShortenedNumbers == true, "recognizeShortenedNumbers: failed to change value") } func testDefaultRegion() { XCTAssert(self.settings.defaultRegion == "161", "defaultRegion: wrong default value") self.settings.defaultRegion = "761" XCTAssert(self.settings.defaultRegion == "761", "defaultRegion: failed to change value") } func testRecordBeep() { XCTAssert(self.settings.recordBeep == false, "recordBeep: wrong default value") self.settings.recordBeep = true XCTAssert(self.settings.recordBeep == true, "recordBeep: failed to change value") } func testDebugInfo() { XCTAssert(self.settings.showDebugInfo == false, "showDebugInfo: wrong default value") self.settings.showDebugInfo = true XCTAssert(self.settings.showDebugInfo == true, "showDebugInfo: failed to change value") } func testDefaultUser() { XCTAssert(self.settings.user.email.isEmpty, "Default user email is not empty") XCTAssert(self.settings.user.token.isEmpty, "Default user token is not empty") XCTAssert(self.settings.user.firebaseIdToken == nil, "Default user firebase ID token is not nil") XCTAssert(self.settings.user.firebaseRefreshToken == nil, "Default user firebase refresh token is not nil") } func testSaveUser() { self.settings.user.token = "TestToken" XCTAssert(self.settings.user.token == "TestToken", "Failed to save user token to settings") self.settings.user.firebaseIdToken = "TestFirebaseToken" XCTAssert(self.settings.user.firebaseIdToken == "TestFirebaseToken", "Failed to save user firebaseIdToken to settings") self.settings.user.firebaseRefreshToken = "TestResreshToken" XCTAssert(self.settings.user.firebaseRefreshToken == "TestResreshToken", "Failed to save user firebaseRefreshToken to settings") } }