     private func updateInterface(viewModel: HomepageInterfaceViewModel, applyingDifferences diffs: [Difference]) {
         homepageViewController.updateInterface(viewModel: viewModel, applyingDifferences: [])
         homepageViewController.collectionView.layoutIfNeeded()
+    }
+
+    private func cellForItem(at index: Int) -> HomepageItemCollectionViewCell? {
+        let indexPath = IndexPath(item: index, section: 0)
+        let cell = homepageViewController.collectionView.cellForItem(at: indexPath)
+        return cell as? HomepageItemCollectionViewCell
     }
 
     func testHasHomeAsTheTitle() {

        let secondItem = StubHomepageInterfaceItemViewModel(title: "Some other title")
        let viewModel = StubHomepageInterfaceViewModel(items: [firstItem, secondItem])
        updateInterface(viewModel: viewModel, applyingDifferences: [])
        let cell = homepageViewController.collectionView.cellForItem(at: IndexPath(item: 1, section: 0)) as? HomepageItemCollectionViewCell

        XCTAssertEqual(secondItem.title, cell?.itemTitleLabel.text)
    }

}

        let item = StubHomepageInterfaceItemViewModel()
        let viewModel = StubHomepageInterfaceViewModel(items: [item])
        updateInterface(viewModel: viewModel, applyingDifferences: [])

        XCTAssertTrue((cellForItem(at: 0) as Any) is HomepageItemCollectionViewCell)
    }

    func testDequeuedHomepageItemCellsShouldHaveLabels() {
        let item = StubHomepageInterfaceItemViewModel()
        let viewModel = StubHomepageInterfaceViewModel(items: [item])
        updateInterface(viewModel: viewModel, applyingDifferences: [])

        XCTAssertNotNil(cellForItem(at: 0)?.itemTitleLabel)
    }

    func testDequeuedItemCellShouldBeConfiguredWithTheTitleFromTheViewModel() {
        let item = StubHomepageInterfaceItemViewModel(title: "Some title")
        let viewModel = StubHomepageInterfaceViewModel(items: [item])
        updateInterface(viewModel: viewModel, applyingDifferences: [])

        XCTAssertEqual(item.title, cellForItem(at: 0)?.itemTitleLabel.text)
    }

    func testDequeuedItemsShouldBeProvidedWithCorrectTitlesFromViewModel() {
