From 5ae8b77eabc1d4d6e0b5bb05f48df25e3513f500 Mon Sep 17 00:00:00 2001 From: Alex Rodionov Date: Wed, 4 Sep 2024 12:19:19 -0700 Subject: [PATCH] Update Sorter tests for 2.x --- MaccyTests/SorterTests.swift | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/MaccyTests/SorterTests.swift b/MaccyTests/SorterTests.swift index e7a88472..6fb9619f 100644 --- a/MaccyTests/SorterTests.swift +++ b/MaccyTests/SorterTests.swift @@ -4,13 +4,14 @@ import Defaults class SorterTests: XCTestCase { let savedPinTo = Defaults[.pinTo] + let sorter = Sorter() var item1: HistoryItem! var item2: HistoryItem! var item3: HistoryItem! + @MainActor override func setUp() { - CoreDataManager.inMemory = true super.setUp() item1 = historyItem(value: "foo", firstCopiedAt: -300, lastCopiedAt: -100, numberOfCopies: 3) item2 = historyItem(value: "bar", firstCopiedAt: -400, lastCopiedAt: -300, numberOfCopies: 2) @@ -19,23 +20,19 @@ class SorterTests: XCTestCase { override func tearDown() { super.tearDown() - CoreDataManager.inMemory = false Defaults[.pinTo] = savedPinTo } func testSortByLastCopiedAt() { - let sorter = Sorter(by: .lastCopiedAt) - XCTAssertEqual(sorter.sort([item1, item2, item3]), [item1, item3, item2]) + XCTAssertEqual(sorter.sort([item1, item2, item3], by: .lastCopiedAt), [item1, item3, item2]) } func testSortByFirstCopiedAt() { - let sorter = Sorter(by: .firstCopiedAt) - XCTAssertEqual(sorter.sort([item1, item2, item3]), [item3, item1, item2]) + XCTAssertEqual(sorter.sort([item1, item2, item3], by: .firstCopiedAt), [item3, item1, item2]) } func testSortByNumberOfCopies() { - let sorter = Sorter(by: .numberOfCopies) - XCTAssertEqual(sorter.sort([item1, item2, item3]), [item1, item2, item3]) + XCTAssertEqual(sorter.sort([item1, item2, item3], by: .numberOfCopies), [item1, item2, item3]) } func testSortByPinToTop() { @@ -43,8 +40,7 @@ class SorterTests: XCTestCase { item1.pin = "a" item3.pin = "b" - let sorter = Sorter(by: .lastCopiedAt) - XCTAssertEqual(sorter.sort([item1, item2, item3]), [item1, item3, item2]) + XCTAssertEqual(sorter.sort([item1, item2, item3], by: .lastCopiedAt), [item1, item3, item2]) } func testSortByPinToBottom() { @@ -52,14 +48,20 @@ class SorterTests: XCTestCase { item1.pin = "a" item3.pin = "b" - let sorter = Sorter(by: .lastCopiedAt) - XCTAssertEqual(sorter.sort([item1, item2, item3]), [item2, item1, item3]) + XCTAssertEqual(sorter.sort([item1, item2, item3], by: .lastCopiedAt), [item2, item1, item3]) } - private func historyItem(value: String, firstCopiedAt: Int, - lastCopiedAt: Int, numberOfCopies: Int) -> HistoryItem { - let content = HistoryItemContent(type: "", value: value.data(using: .utf8)!) - let item = HistoryItem(contents: [content]) + @MainActor + private func historyItem( + value: String, + firstCopiedAt: Int, + lastCopiedAt: Int, + numberOfCopies: Int + ) -> HistoryItem { + let contents = [HistoryItemContent(type: "", value: value.data(using: .utf8)!)] + let item = HistoryItem() + Storage.shared.context.insert(item) + item.contents = contents item.firstCopiedAt = Date(timeIntervalSinceNow: TimeInterval(firstCopiedAt)) item.lastCopiedAt = Date(timeIntervalSinceNow: TimeInterval(lastCopiedAt)) item.numberOfCopies = numberOfCopies