import Foundation
@testable import ThreemaFramework
final class TaskManagerMock: NSObject, TaskManagerProtocol {
typealias TaskAddedCallback = () -> Void
var addedTasks = [TaskDefinitionProtocol]() {
didSet {
taskAdded?()
}
}
/// Called on each task added
var taskAdded: TaskAddedCallback?
var executeSubTaskCalls = [TaskDefinitionProtocol]()
init(taskAdded: TaskAddedCallback? = nil) {
self.taskAdded = taskAdded
}
// MARK: Mocks
func add(taskDefinition: TaskDefinitionProtocol) -> CancelableTask? {
addedTasks.append(taskDefinition)
return nil
}
func addWithWait(taskDefinition: TaskDefinitionProtocol) -> (WaitTask, CancelableTask?) {
addedTasks.append(taskDefinition)
return (DefaultWaitTask(completionTask: Task { }), nil)
}
func add(
taskDefinition: TaskDefinitionProtocol,
completionHandler: @escaping TaskCompletionHandler
) -> CancelableTask? {
addedTasks.append(taskDefinition)
completionHandler(taskDefinition, nil)
return nil
}
func add(taskDefinitionTuples: [(
taskDefinition: TaskDefinitionProtocol,
completionHandler: TaskCompletionHandler
)]) -> [CancelableTask?] {
var cancelableTasks = [CancelableTask?]()
for tuple in taskDefinitionTuples {
let cancelableTask = add(taskDefinition: tuple.taskDefinition, completionHandler: tuple.completionHandler)
cancelableTasks.append(cancelableTask)
}
return cancelableTasks
}
func executeSubTask(taskDefinition: any ThreemaFramework.TaskDefinitionProtocol) async throws {
executeSubTaskCalls.append(taskDefinition)
}
static func removeAllTasks() {
// no-op
}
static func removeCurrentTask() { }
static func isEmpty() -> Bool {
false
}
func spool() { }
func save() { }
}
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet am 2026-11-04)
¤
*© Formatika GbR, Deutschland