Skip to content

Commit c2ab085

Browse files
committed
Add more unit tests for #117
1 parent 9623761 commit c2ab085

File tree

2 files changed

+41
-14
lines changed

2 files changed

+41
-14
lines changed

Tests/TestCellViewModel.swift

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ final class TestCellViewModel: XCTestCase {
3939
XCTAssertEqual(viewModel.registration, expected)
4040
}
4141

42+
// swiftlint:disable xct_specific_matcher
4243
@MainActor
4344
func test_eraseToAnyViewModel() {
4445
var viewModel = FakeTextCellViewModel()
@@ -55,8 +56,6 @@ final class TestCellViewModel: XCTestCase {
5556
XCTAssertEqual(erased.registration, viewModel.registration)
5657
XCTAssertEqual(erased.shouldHighlight, viewModel.shouldHighlight)
5758
XCTAssertIdentical(erased.contextMenuConfiguration, viewModel.contextMenuConfiguration)
58-
59-
// swiftlint:disable:next xct_specific_matcher
6059
XCTAssertTrue(erased.cellClass == viewModel.cellClass)
6160
XCTAssertEqual(erased.reuseIdentifier, viewModel.reuseIdentifier)
6261

@@ -76,12 +75,30 @@ final class TestCellViewModel: XCTestCase {
7675
XCTAssertNotEqual(erased.hashValue, FakeCellViewModel().eraseToAnyViewModel().hashValue)
7776

7877
let erased3 = viewModel.eraseToAnyViewModel().eraseToAnyViewModel()
79-
XCTAssertEqual(erased, erased3)
80-
XCTAssertEqual(erased.hashValue, erased3.hashValue)
78+
XCTAssertEqual(erased3, erased)
79+
XCTAssertEqual(erased3.hashValue, erased.hashValue)
80+
81+
XCTAssertEqual(erased3, viewModel.eraseToAnyViewModel())
82+
XCTAssertEqual(erased3.hashValue, viewModel.hashValue)
83+
XCTAssertEqual(erased3.id, viewModel.id)
84+
XCTAssertEqual(erased3.registration, viewModel.registration)
85+
XCTAssertEqual(erased3.shouldHighlight, viewModel.shouldHighlight)
86+
XCTAssertIdentical(erased3.contextMenuConfiguration, viewModel.contextMenuConfiguration)
87+
XCTAssertTrue(erased3.cellClass == viewModel.cellClass)
88+
XCTAssertEqual(erased3.reuseIdentifier, viewModel.reuseIdentifier)
8189

8290
let erased4 = (viewModel.eraseToAnyViewModel() as (any CellViewModel)).eraseToAnyViewModel()
83-
XCTAssertEqual(erased, erased4)
84-
XCTAssertEqual(erased.hashValue, erased4.hashValue)
91+
XCTAssertEqual(erased4, erased)
92+
XCTAssertEqual(erased4.hashValue, erased.hashValue)
93+
94+
XCTAssertEqual(erased4, viewModel.eraseToAnyViewModel())
95+
XCTAssertEqual(erased4.hashValue, viewModel.hashValue)
96+
XCTAssertEqual(erased4.id, viewModel.id)
97+
XCTAssertEqual(erased4.registration, viewModel.registration)
98+
XCTAssertEqual(erased4.shouldHighlight, viewModel.shouldHighlight)
99+
XCTAssertIdentical(erased4.contextMenuConfiguration, viewModel.contextMenuConfiguration)
100+
XCTAssertTrue(erased4.cellClass == viewModel.cellClass)
101+
XCTAssertEqual(erased4.reuseIdentifier, viewModel.reuseIdentifier)
85102

86103
let anyViewModel5 = AnyCellViewModel(erased2)
87104
XCTAssertEqual(erased, anyViewModel5)
@@ -95,6 +112,7 @@ final class TestCellViewModel: XCTestCase {
95112
XCTAssertEqual(erased, anyViewModel7)
96113
XCTAssertEqual(erased.hashValue, anyViewModel7.hashValue)
97114
}
115+
// swiftlint:enable xct_specific_matcher
98116

99117
@MainActor
100118
func test_debugDescription() {

Tests/TestSupplementaryViewModel.swift

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,17 @@ final class TestSupplementaryViewModel: XCTestCase {
2424
XCTAssertEqual(viewModel.reuseIdentifier, "FakeSupplementaryViewModel")
2525
}
2626

27+
// swiftlint:disable xct_specific_matcher
2728
@MainActor
2829
func test_eraseToAnyViewModel() {
2930
var viewModel = FakeSupplementaryViewModel()
3031
viewModel.expectationConfigureView = self.expectation(name: "configure_view")
3132
viewModel.expectationConfigureView?.expectedFulfillmentCount = 2
3233

3334
let erased = viewModel.eraseToAnyViewModel()
34-
XCTAssertEqual(viewModel.hashValue, erased.hashValue)
35-
3635
XCTAssertEqual(erased.id, viewModel.id)
36+
XCTAssertEqual(erased.hashValue, viewModel.hashValue)
3737
XCTAssertEqual(erased.registration, viewModel.registration)
38-
39-
// swiftlint:disable:next xct_specific_matcher
4038
XCTAssertTrue(erased.viewClass == viewModel.viewClass)
4139
XCTAssertEqual(erased.reuseIdentifier, viewModel.reuseIdentifier)
4240

@@ -52,12 +50,22 @@ final class TestSupplementaryViewModel: XCTestCase {
5250
XCTAssertNotEqual(erased.hashValue, FakeSupplementaryViewModel().eraseToAnyViewModel().hashValue)
5351

5452
let erased3 = viewModel.eraseToAnyViewModel().eraseToAnyViewModel()
55-
XCTAssertEqual(erased, erased3)
56-
XCTAssertEqual(erased.hashValue, erased3.hashValue)
53+
XCTAssertEqual(erased3, erased)
54+
XCTAssertEqual(erased3.hashValue, erased.hashValue)
55+
XCTAssertEqual(erased3.id, viewModel.id)
56+
XCTAssertEqual(erased3.hashValue, viewModel.hashValue)
57+
XCTAssertEqual(erased3.registration, viewModel.registration)
58+
XCTAssertTrue(erased3.viewClass == viewModel.viewClass)
59+
XCTAssertEqual(erased3.reuseIdentifier, viewModel.reuseIdentifier)
5760

5861
let erased4 = (viewModel.eraseToAnyViewModel() as (any SupplementaryViewModel)).eraseToAnyViewModel()
59-
XCTAssertEqual(erased, erased4)
60-
XCTAssertEqual(erased.hashValue, erased4.hashValue)
62+
XCTAssertEqual(erased4, erased)
63+
XCTAssertEqual(erased4.hashValue, erased.hashValue)
64+
XCTAssertEqual(erased4.id, viewModel.id)
65+
XCTAssertEqual(erased4.hashValue, viewModel.hashValue)
66+
XCTAssertEqual(erased4.registration, viewModel.registration)
67+
XCTAssertTrue(erased4.viewClass == viewModel.viewClass)
68+
XCTAssertEqual(erased4.reuseIdentifier, viewModel.reuseIdentifier)
6169

6270
let anyViewModel5 = AnySupplementaryViewModel(erased2)
6371
XCTAssertEqual(erased, anyViewModel5)
@@ -71,6 +79,7 @@ final class TestSupplementaryViewModel: XCTestCase {
7179
XCTAssertEqual(erased, anyViewModel7)
7280
XCTAssertEqual(erased.hashValue, anyViewModel7.hashValue)
7381
}
82+
// swiftlint:enable xct_specific_matcher
7483

7584
@MainActor
7685
func test_header() {

0 commit comments

Comments
 (0)