Skip to content

Commit 65ff543

Browse files
committed
Add cell style and reuse identifier tests
1 parent a3022eb commit 65ff543

File tree

5 files changed

+125
-3
lines changed

5 files changed

+125
-3
lines changed

Tests/CustomTypes.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import UIKit
3030
internal final class CustomCell: UITableViewCell {}
3131
internal final class CustomSwitchCell: SwitchCell {}
3232
internal final class CustomTapActionCell: TapActionCell {}
33+
internal final class CustomOptionCell: UITableViewCell {}
3334

3435
internal final class CustomNavigationRow<T: UITableViewCell>: NavigationRow<T> {}
3536
internal final class CustomSwitchRow<T: SwitchCell>: SwitchRow<T> {}

Tests/Row/NavigationRowTests.swift

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,20 +100,44 @@ internal final class NavigationRowTests: XCTestCase {
100100
}
101101
#endif
102102

103-
func testCellReuseIdentifier() {
103+
func testCellStyleWithReuseIdentifier() {
104104
// When
105105
let a = NavigationRow(text: "", detailText: .none)
106106
let b = NavigationRow(text: "", detailText: .subtitle(""))
107107
let c = NavigationRow(text: "", detailText: .value1(""))
108108
let d = NavigationRow(text: "", detailText: .value2(""))
109109

110110
// Then
111+
XCTAssertEqual(a.cellStyle, .default)
112+
XCTAssertEqual(b.cellStyle, .subtitle)
113+
XCTAssertEqual(c.cellStyle, .value1)
114+
XCTAssertEqual(d.cellStyle, .value2)
115+
111116
XCTAssertEqual(a.cellReuseIdentifier, "UITableViewCell.default")
112117
XCTAssertEqual(b.cellReuseIdentifier, "UITableViewCell.subtitle")
113118
XCTAssertEqual(c.cellReuseIdentifier, "UITableViewCell.value1")
114119
XCTAssertEqual(d.cellReuseIdentifier, "UITableViewCell.value2")
115120
}
116121

122+
func testCellStyleWithReuseIdentifier_customCellType() {
123+
// When
124+
let a = NavigationRow<CustomCell>(text: "", detailText: .none)
125+
let b = NavigationRow<CustomCell>(text: "", detailText: .subtitle(""))
126+
let c = NavigationRow<CustomCell>(text: "", detailText: .value1(""))
127+
let d = NavigationRow<CustomCell>(text: "", detailText: .value2(""))
128+
129+
// Then
130+
XCTAssertEqual(a.cellStyle, .default)
131+
XCTAssertEqual(b.cellStyle, .subtitle)
132+
XCTAssertEqual(c.cellStyle, .value1)
133+
XCTAssertEqual(d.cellStyle, .value2)
134+
135+
XCTAssertEqual(a.cellReuseIdentifier, "CustomCell.default")
136+
XCTAssertEqual(b.cellReuseIdentifier, "CustomCell.subtitle")
137+
XCTAssertEqual(c.cellReuseIdentifier, "CustomCell.value1")
138+
XCTAssertEqual(d.cellReuseIdentifier, "CustomCell.value2")
139+
}
140+
117141
#if os(iOS)
118142
func testAccessoryType_iOS() {
119143
// When

Tests/Row/OptionRowTests.swift

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ internal final class OptionRowTests: XCTestCase {
4646
XCTAssertEqual(row.isSelected, true)
4747

4848
// With RowStyle
49-
XCTAssertEqual(row.cellReuseIdentifier, "UITableViewCell")
49+
XCTAssertEqual(row.cellReuseIdentifier, "UITableViewCell.subtitle")
5050
XCTAssertEqual(row.cellStyle, .subtitle)
5151
XCTAssertEqual(row.icon, icon)
5252
XCTAssertEqual(row.accessoryType, .checkmark)
@@ -60,6 +60,50 @@ internal final class OptionRowTests: XCTestCase {
6060
XCTAssertEqual(actionInvoked, true)
6161
}
6262

63+
func testCellStyleWithReuseIdentifier() {
64+
// When
65+
let a = OptionRow(text: "", detailText: nil, isSelected: true, action: { _ in })
66+
let b = OptionRow(text: "", detailText: DetailText.none, isSelected: true, action: { _ in })
67+
let c = OptionRow(text: "", detailText: .subtitle(""), isSelected: true, action: { _ in })
68+
let d = OptionRow(text: "", detailText: .value1(""), isSelected: true, action: { _ in })
69+
let e = OptionRow(text: "", detailText: .value2(""), isSelected: true, action: { _ in })
70+
71+
// Then
72+
XCTAssertEqual(a.cellStyle, .default)
73+
XCTAssertEqual(b.cellStyle, .default)
74+
XCTAssertEqual(c.cellStyle, .subtitle)
75+
XCTAssertEqual(d.cellStyle, .value1)
76+
XCTAssertEqual(e.cellStyle, .value2)
77+
78+
XCTAssertEqual(a.cellReuseIdentifier, "UITableViewCell")
79+
XCTAssertEqual(b.cellReuseIdentifier, "UITableViewCell.default")
80+
XCTAssertEqual(c.cellReuseIdentifier, "UITableViewCell.subtitle")
81+
XCTAssertEqual(d.cellReuseIdentifier, "UITableViewCell.value1")
82+
XCTAssertEqual(e.cellReuseIdentifier, "UITableViewCell.value2")
83+
}
84+
85+
func testCellStyleWithReuseIdentifier_customCellType() {
86+
// When
87+
let a = OptionRow<CustomOptionCell>(text: "", detailText: nil, isSelected: true, action: { _ in })
88+
let b = OptionRow<CustomOptionCell>(text: "", detailText: DetailText.none, isSelected: true, action: { _ in })
89+
let c = OptionRow<CustomOptionCell>(text: "", detailText: .subtitle(""), isSelected: true, action: { _ in })
90+
let d = OptionRow<CustomOptionCell>(text: "", detailText: .value1(""), isSelected: true, action: { _ in })
91+
let e = OptionRow<CustomOptionCell>(text: "", detailText: .value2(""), isSelected: true, action: { _ in })
92+
93+
// Then
94+
XCTAssertEqual(a.cellStyle, .default)
95+
XCTAssertEqual(b.cellStyle, .default)
96+
XCTAssertEqual(c.cellStyle, .subtitle)
97+
XCTAssertEqual(d.cellStyle, .value1)
98+
XCTAssertEqual(e.cellStyle, .value2)
99+
100+
XCTAssertEqual(a.cellReuseIdentifier, "CustomOptionCell")
101+
XCTAssertEqual(b.cellReuseIdentifier, "CustomOptionCell.default")
102+
XCTAssertEqual(c.cellReuseIdentifier, "CustomOptionCell.subtitle")
103+
XCTAssertEqual(d.cellReuseIdentifier, "CustomOptionCell.value1")
104+
XCTAssertEqual(e.cellReuseIdentifier, "CustomOptionCell.value2")
105+
}
106+
63107
// MARK: - Equatable
64108

65109
func testEquatable_withIdenticalParameters() {

Tests/Row/SwitchRowTests.swift

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ internal final class SwitchRowTests: XCTestCase {
4646
XCTAssertEqual(row.switchValue, true)
4747

4848
// With RowStyle
49-
XCTAssertEqual(row.cellReuseIdentifier, "SwitchCell")
49+
XCTAssertEqual(row.cellReuseIdentifier, "SwitchCell.subtitle")
5050
XCTAssertEqual(row.cellStyle, .subtitle)
5151
XCTAssertEqual(row.icon, icon)
5252
XCTAssertNil(row.customize)
@@ -66,6 +66,50 @@ internal final class SwitchRowTests: XCTestCase {
6666
XCTAssertEqual(actionInvoked, true)
6767
}
6868

69+
func testCellStyleWithReuseIdentifier() {
70+
// When
71+
let a = SwitchRow(text: "", detailText: nil, switchValue: true, action: { _ in })
72+
let b = SwitchRow(text: "", detailText: DetailText.none, switchValue: true, action: { _ in })
73+
let c = SwitchRow(text: "", detailText: .subtitle(""), switchValue: true, action: { _ in })
74+
let d = SwitchRow(text: "", detailText: .value1(""), switchValue: true, action: { _ in })
75+
let e = SwitchRow(text: "", detailText: .value2(""), switchValue: true, action: { _ in })
76+
77+
// Then
78+
XCTAssertEqual(a.cellStyle, .default)
79+
XCTAssertEqual(b.cellStyle, .default)
80+
XCTAssertEqual(c.cellStyle, .subtitle)
81+
XCTAssertEqual(d.cellStyle, .value1)
82+
XCTAssertEqual(e.cellStyle, .value2)
83+
84+
XCTAssertEqual(a.cellReuseIdentifier, "SwitchCell")
85+
XCTAssertEqual(b.cellReuseIdentifier, "SwitchCell.default")
86+
XCTAssertEqual(c.cellReuseIdentifier, "SwitchCell.subtitle")
87+
XCTAssertEqual(d.cellReuseIdentifier, "SwitchCell.value1")
88+
XCTAssertEqual(e.cellReuseIdentifier, "SwitchCell.value2")
89+
}
90+
91+
func testCellStyleWithReuseIdentifier_customCellType() {
92+
// When
93+
let a = SwitchRow<CustomSwitchCell>(text: "", detailText: nil, switchValue: true, action: { _ in })
94+
let b = SwitchRow<CustomSwitchCell>(text: "", detailText: DetailText.none, switchValue: true, action: { _ in })
95+
let c = SwitchRow<CustomSwitchCell>(text: "", detailText: .subtitle(""), switchValue: true, action: { _ in })
96+
let d = SwitchRow<CustomSwitchCell>(text: "", detailText: .value1(""), switchValue: true, action: { _ in })
97+
let e = SwitchRow<CustomSwitchCell>(text: "", detailText: .value2(""), switchValue: true, action: { _ in })
98+
99+
// Then
100+
XCTAssertEqual(a.cellStyle, .default)
101+
XCTAssertEqual(b.cellStyle, .default)
102+
XCTAssertEqual(c.cellStyle, .subtitle)
103+
XCTAssertEqual(d.cellStyle, .value1)
104+
XCTAssertEqual(e.cellStyle, .value2)
105+
106+
XCTAssertEqual(a.cellReuseIdentifier, "CustomSwitchCell")
107+
XCTAssertEqual(b.cellReuseIdentifier, "CustomSwitchCell.default")
108+
XCTAssertEqual(c.cellReuseIdentifier, "CustomSwitchCell.subtitle")
109+
XCTAssertEqual(d.cellReuseIdentifier, "CustomSwitchCell.value1")
110+
XCTAssertEqual(e.cellReuseIdentifier, "CustomSwitchCell.value2")
111+
}
112+
69113
// MARK: - Equatable
70114

71115
func testEquatable_withIdenticalParameters() {

Tests/Row/TapActionRowTests.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,15 @@ internal final class TapActionRowTests: XCTestCase {
4949
XCTAssertEqual(actionInvoked, true)
5050
}
5151

52+
func testCellStyleWithReuseIdentifier_customCellType() {
53+
// When
54+
let row = TapActionRow<CustomTapActionCell>(text: "", action: { _ in })
55+
56+
// Then
57+
XCTAssertEqual(row.cellStyle, .default)
58+
XCTAssertEqual(row.cellReuseIdentifier, "CustomTapActionCell")
59+
}
60+
5261
// MARK: - Equatable
5362

5463
func testEquatable_withIdenticalParameters() {

0 commit comments

Comments
 (0)