feat: persistence
This commit is contained in:
@@ -11,34 +11,34 @@ import XCTest
|
||||
final class TimerStateTests: XCTestCase {
|
||||
|
||||
func testInitialization() {
|
||||
let state = TimerState(type: .lookAway, intervalSeconds: 1200)
|
||||
let state = TimerState(identifier: .builtIn(.lookAway), intervalSeconds: 1200)
|
||||
|
||||
XCTAssertEqual(state.type, .lookAway)
|
||||
XCTAssertEqual(state.identifier, .builtIn(.lookAway))
|
||||
XCTAssertEqual(state.remainingSeconds, 1200)
|
||||
XCTAssertFalse(state.isPaused)
|
||||
XCTAssertTrue(state.isActive)
|
||||
}
|
||||
|
||||
func testInitializationWithPausedState() {
|
||||
let state = TimerState(type: .blink, intervalSeconds: 300, isPaused: true)
|
||||
let state = TimerState(identifier: .builtIn(.blink), intervalSeconds: 300, isPaused: true)
|
||||
|
||||
XCTAssertEqual(state.type, .blink)
|
||||
XCTAssertEqual(state.identifier, .builtIn(.blink))
|
||||
XCTAssertEqual(state.remainingSeconds, 300)
|
||||
XCTAssertTrue(state.isPaused)
|
||||
XCTAssertTrue(state.isActive)
|
||||
}
|
||||
|
||||
func testInitializationWithInactiveState() {
|
||||
let state = TimerState(type: .posture, intervalSeconds: 1800, isPaused: false, isActive: false)
|
||||
let state = TimerState(identifier: .builtIn(.posture), intervalSeconds: 1800, isPaused: false, isActive: false)
|
||||
|
||||
XCTAssertEqual(state.type, .posture)
|
||||
XCTAssertEqual(state.identifier, .builtIn(.posture))
|
||||
XCTAssertEqual(state.remainingSeconds, 1800)
|
||||
XCTAssertFalse(state.isPaused)
|
||||
XCTAssertFalse(state.isActive)
|
||||
}
|
||||
|
||||
func testMutability() {
|
||||
var state = TimerState(type: .lookAway, intervalSeconds: 1200)
|
||||
var state = TimerState(identifier: .builtIn(.lookAway), intervalSeconds: 1200)
|
||||
|
||||
state.remainingSeconds = 600
|
||||
XCTAssertEqual(state.remainingSeconds, 600)
|
||||
@@ -51,10 +51,10 @@ final class TimerStateTests: XCTestCase {
|
||||
}
|
||||
|
||||
func testEquality() {
|
||||
let state1 = TimerState(type: .lookAway, intervalSeconds: 1200)
|
||||
let state2 = TimerState(type: .lookAway, intervalSeconds: 1200)
|
||||
let state3 = TimerState(type: .blink, intervalSeconds: 1200)
|
||||
let state4 = TimerState(type: .lookAway, intervalSeconds: 600)
|
||||
let state1 = TimerState(identifier: .builtIn(.lookAway), intervalSeconds: 1200)
|
||||
let state2 = TimerState(identifier: .builtIn(.lookAway), intervalSeconds: 1200)
|
||||
let state3 = TimerState(identifier: .builtIn(.blink), intervalSeconds: 1200)
|
||||
let state4 = TimerState(identifier: .builtIn(.lookAway), intervalSeconds: 600)
|
||||
|
||||
XCTAssertEqual(state1, state2)
|
||||
XCTAssertNotEqual(state1, state3)
|
||||
@@ -62,32 +62,32 @@ final class TimerStateTests: XCTestCase {
|
||||
}
|
||||
|
||||
func testEqualityWithDifferentPausedState() {
|
||||
let state1 = TimerState(type: .lookAway, intervalSeconds: 1200, isPaused: false)
|
||||
let state2 = TimerState(type: .lookAway, intervalSeconds: 1200, isPaused: true)
|
||||
let state1 = TimerState(identifier: .builtIn(.lookAway), intervalSeconds: 1200, isPaused: false)
|
||||
let state2 = TimerState(identifier: .builtIn(.lookAway), intervalSeconds: 1200, isPaused: true)
|
||||
|
||||
XCTAssertNotEqual(state1, state2)
|
||||
}
|
||||
|
||||
func testEqualityWithDifferentActiveState() {
|
||||
let state1 = TimerState(type: .lookAway, intervalSeconds: 1200, isActive: true)
|
||||
let state2 = TimerState(type: .lookAway, intervalSeconds: 1200, isActive: false)
|
||||
let state1 = TimerState(identifier: .builtIn(.lookAway), intervalSeconds: 1200, isActive: true)
|
||||
let state2 = TimerState(identifier: .builtIn(.lookAway), intervalSeconds: 1200, isActive: false)
|
||||
|
||||
XCTAssertNotEqual(state1, state2)
|
||||
}
|
||||
|
||||
func testZeroRemainingSeconds() {
|
||||
let state = TimerState(type: .lookAway, intervalSeconds: 0)
|
||||
let state = TimerState(identifier: .builtIn(.lookAway), intervalSeconds: 0)
|
||||
XCTAssertEqual(state.remainingSeconds, 0)
|
||||
}
|
||||
|
||||
func testNegativeRemainingSeconds() {
|
||||
var state = TimerState(type: .lookAway, intervalSeconds: 10)
|
||||
var state = TimerState(identifier: .builtIn(.lookAway), intervalSeconds: 10)
|
||||
state.remainingSeconds = -5
|
||||
XCTAssertEqual(state.remainingSeconds, -5)
|
||||
}
|
||||
|
||||
func testLargeIntervalSeconds() {
|
||||
let state = TimerState(type: .posture, intervalSeconds: 86400)
|
||||
let state = TimerState(identifier: .builtIn(.posture), intervalSeconds: 86400)
|
||||
XCTAssertEqual(state.remainingSeconds, 86400)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user