Tests/Support/TestHelpers.swift (1254B)
1import Foundation
2import Testing
3
4#if os(macOS)
5@testable import Listless
6#else
7@testable import Listless_iOS
8#endif
9
10
11@MainActor
12func makeTestStore() -> ItemStore {
13 let controller = PersistenceController(inMemory: true)
14 return ItemStore(persistenceController: controller)
15}
16
17
18
19
20
21
22@MainActor
23func makeTestStoreWithItems(count: Int = 3, titles: [String]? = nil) throws -> (ItemStore, [UUID]) {
24 let store = makeTestStore()
25 var itemIDs: [UUID] = []
26
27 for i in 0..<count {
28 let title = titles?[safe: i] ?? "Task \(i + 1)"
29 let item = try store.createItem(title: title)
30 try store.save()
31 itemIDs.append(item.id)
32 }
33
34 return (store, itemIDs)
35}
36
37
38extension Array {
39 subscript(safe index: Int) -> Element? {
40 return indices.contains(index) ? self[index] : nil
41 }
42}