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

                waitForExpectationsWithTimeout(DefaultTimeout, handler: { (error) -> Void in
                    XCTAssertNil(error, "Expections should not error")
                })
                
                // reset expectation names for next loop, ignore last item
                if !(sectionIndex == dataSourceProvider.sections.count - 1 && rowIndex == dataSourceProvider[sectionIndex].count - 1) {
                    cellFactoryExpectation = expectationWithDescription("cell_factory_" + expectationName)

        var cellFactoryExpectation = expectationWithDescription("cell_factory_\(__FUNCTION__)")

        // GIVEN: a cell factory
        let cellFactory = 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, allSections[indexPath.section][indexPath.item], "Model object should equal expected value")
                XCTAssertEqual(view, self.fakeCollectionView, "CollectionView should equal the collectionView for the data source")

                cellFactoryExpectation.fulfill()
                return cell
        }

        var supplementaryFactoryExpectation = expectationWithDescription("supplementary_factory_\(__FUNCTION__)")
