Add tests
This commit is contained in:
@@ -35,7 +35,7 @@ open class CocoaCollectionViewDiffableDataSource<SectionIdentifierType: Hashable
|
||||
/// diffing animation.
|
||||
/// - completion: An optional completion block which is called when the complete
|
||||
/// performing updates.
|
||||
public func apply(_ snapshot: DiffableDataSourceSnapshot<SectionIdentifierType, ItemIdentifierType>, animatingDifferences: Bool = true) {
|
||||
public func apply(_ snapshot: DiffableDataSourceSnapshot<SectionIdentifierType, ItemIdentifierType>, animatingDifferences: Bool = true, completion: (() -> Void)? = nil) {
|
||||
core.apply(
|
||||
snapshot,
|
||||
view: collectionView,
|
||||
|
||||
@@ -22,21 +22,29 @@ final class CocoaCollectionViewDiffableDataSourceTests: XCTestCase {
|
||||
|
||||
var snapshot = DiffableDataSourceSnapshot<Int, Int>()
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
let e1 = expectation(description: "testApply() e1")
|
||||
dataSource.apply(snapshot, completion: e1.fulfill)
|
||||
wait(for: [e1], timeout: 1)
|
||||
XCTAssertEqual(collectionView.isPerformBatchUpdatesCalledCount, 0)
|
||||
|
||||
snapshot.appendSections([0])
|
||||
snapshot.appendItems([0])
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
let e2 = expectation(description: "testApply() e2")
|
||||
dataSource.apply(snapshot, completion: e2.fulfill)
|
||||
wait(for: [e2], timeout: 1)
|
||||
XCTAssertEqual(collectionView.isPerformBatchUpdatesCalledCount, 1)
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
let e3 = expectation(description: "testApply() e3")
|
||||
dataSource.apply(snapshot, completion: e3.fulfill)
|
||||
wait(for: [e3], timeout: 1)
|
||||
XCTAssertEqual(collectionView.isPerformBatchUpdatesCalledCount, 1)
|
||||
|
||||
snapshot.appendItems([1])
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
let e4 = expectation(description: "testApply() e4")
|
||||
dataSource.apply(snapshot, completion: e4.fulfill)
|
||||
wait(for: [e4], timeout: 1)
|
||||
XCTAssertEqual(collectionView.isPerformBatchUpdatesCalledCount, 2)
|
||||
}
|
||||
|
||||
|
||||
@@ -22,21 +22,29 @@ final class CollectionViewDiffableDataSourceTests: XCTestCase {
|
||||
|
||||
var snapshot = DiffableDataSourceSnapshot<Int, Int>()
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
let e1 = expectation(description: "testApply() e1")
|
||||
dataSource.apply(snapshot, completion: e1.fulfill)
|
||||
wait(for: [e1], timeout: 1)
|
||||
XCTAssertEqual(collectionView.isPerformBatchUpdatesCalledCount, 0)
|
||||
|
||||
snapshot.appendSections([0])
|
||||
snapshot.appendItems([0])
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
let e2 = expectation(description: "testApply() e2")
|
||||
dataSource.apply(snapshot, completion: e2.fulfill)
|
||||
wait(for: [e2], timeout: 1)
|
||||
XCTAssertEqual(collectionView.isPerformBatchUpdatesCalledCount, 1)
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
let e3 = expectation(description: "testApply() e3")
|
||||
dataSource.apply(snapshot, completion: e3.fulfill)
|
||||
wait(for: [e3], timeout: 1)
|
||||
XCTAssertEqual(collectionView.isPerformBatchUpdatesCalledCount, 1)
|
||||
|
||||
snapshot.appendItems([1])
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
let e4 = expectation(description: "testApply() e4")
|
||||
dataSource.apply(snapshot, completion: e4.fulfill)
|
||||
wait(for: [e4], timeout: 1)
|
||||
XCTAssertEqual(collectionView.isPerformBatchUpdatesCalledCount, 2)
|
||||
}
|
||||
|
||||
|
||||
@@ -22,21 +22,29 @@ final class TableViewDiffableDataSourceTests: XCTestCase {
|
||||
|
||||
var snapshot = DiffableDataSourceSnapshot<Int, Int>()
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
let e1 = expectation(description: "testApply() e1")
|
||||
dataSource.apply(snapshot, completion: e1.fulfill)
|
||||
wait(for: [e1], timeout: 1)
|
||||
XCTAssertEqual(tableView.isPerformBatchUpdatesCalledCount, 0)
|
||||
|
||||
snapshot.appendSections([0])
|
||||
snapshot.appendItems([0])
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
let e2 = expectation(description: "testApply() e2")
|
||||
dataSource.apply(snapshot, completion: e2.fulfill)
|
||||
wait(for: [e2], timeout: 1)
|
||||
XCTAssertEqual(tableView.isPerformBatchUpdatesCalledCount, 1)
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
let e3 = expectation(description: "testApply() e3")
|
||||
dataSource.apply(snapshot, completion: e3.fulfill)
|
||||
wait(for: [e3], timeout: 1)
|
||||
XCTAssertEqual(tableView.isPerformBatchUpdatesCalledCount, 1)
|
||||
|
||||
snapshot.appendItems([1])
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
let e4 = expectation(description: "testApply() e4")
|
||||
dataSource.apply(snapshot, completion: e4.fulfill)
|
||||
wait(for: [e4], timeout: 1)
|
||||
XCTAssertEqual(tableView.isPerformBatchUpdatesCalledCount, 2)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user