             cellFactory: cellFactory,
             supplementaryViewFactory: supplementaryViewFactory,
             collectionView: fakeCollectionView)
-        
+
         let dataSource = dataSourceProvider.dataSource
 
         // WHEN: we call the collection view data source methods

        XCTAssertEqual(numSections!, dataSourceProvider.sections.count, "Data source should return expected number of sections")

        for sectionIndex in 0..<dataSourceProvider.sections.count {

            for rowIndex in 0..<dataSourceProvider[sectionIndex].items.count {

                let expectationName = "\(__FUNCTION__)_\(sectionIndex)_\(rowIndex)"

        fakeCollectionView.dequeueCellExpectation = expectationWithDescription(dequeueCellExpectationName + "\(__FUNCTION__)")

        // GIVEN: a cell factory
        let factory = CollectionViewCellFactory(reuseIdentifier: fakeCellReuseId)
            { (cell: FakeCollectionCell, model: FakeCollectionModel, view: UICollectionView, indexPath: NSIndexPath) -> FakeCollectionCell in
                XCTAssertEqual(cell.reuseIdentifier!, self.fakeCellReuseId, "Dequeued cell should have expected identifier")
                XCTAssertEqual(model, expectedModel, "Model object should equal expected value")
                XCTAssertEqual(view, self.fakeCollectionView, "CollectionView should equal the collectionView for the data source")
                XCTAssertEqual(indexPath, expectedIndexPath, "IndexPath should equal expected value")

                cellFactoryExpectation.fulfill()
                return cell
        }

        // GIVEN: a data source provider
