Files
Luma/Tests/ArchiveSyncWorkBudgetTests.swift
2026-07-30 20:07:51 +07:00

26 lines
888 B
Swift

import XCTest
@testable import Luma
final class ArchiveSyncWorkBudgetTests: XCTestCase {
func testStopsAfterFinitePageBudget() {
let start = Date(timeIntervalSince1970: 1_700_000_000)
var budget = ArchiveSyncWorkBudget(startedAt: start)
for page in 1..<ArchiveSyncWorkBudget.maximumCompletedPages {
XCTAssertFalse(
budget.recordCompletedPage(at: start.addingTimeInterval(Double(page)))
)
}
XCTAssertTrue(budget.recordCompletedPage(at: start.addingTimeInterval(6)))
}
func testStopsAfterRuntimeBudgetEvenWithFewPages() {
let start = Date(timeIntervalSince1970: 1_700_000_000)
var budget = ArchiveSyncWorkBudget(startedAt: start)
XCTAssertTrue(budget.recordCompletedPage(
at: start.addingTimeInterval(ArchiveSyncWorkBudget.maximumRuntime)
))
}
}