 
         let moc = coreDataStack.mainQueueContext
 
+        // Insert some Books
+        let bookTitles = StubbedBookData.books
+        for title in bookTitles {
+            let book = Book(managedObjectContext: moc)
+            book.title = title
+        }
+        try! moc.saveContextAndWait()
+
         // Setup fetched results controller
-        let fr = NSFetchRequest(entityName: Author.entityName)
-        fr.sortDescriptors = [NSSortDescriptor(key: "firstName", ascending: true)]
-        fetchedResultsController = FetchedResultsController<Author>(fetchRequest: fr, managedObjectContext: moc)
+        let fr = NSFetchRequest(entityName: Book.entityName)
+        fr.sortDescriptors = [NSSortDescriptor(key: "title", ascending: true)]
+        fetchedResultsController = FetchedResultsController<Book>(fetchRequest: fr, managedObjectContext: moc, sectionNameKeyPath: "firstInitial")
         fetchedResultsController.setDelegate(self.delegate)
 
         do {

// MARK: - FetchedResultsControllerDelegate

class SampleFetchedResultsControllerDelegate: FetchedResultsControllerDelegate {
    var didChangeObjectCalls: [FetchedResultsObjectChange<Author>] = []
    var didChangeSectionCalls: [FetchedResultsSectionChange<Author>] = []
    var willChangeContentCount = 0
    var didChangeContentCount = 0
    var didPerformFetchCount = 0

    func fetchedResultsController(controller: FetchedResultsController<Author>,
        didChangeObject change: FetchedResultsObjectChange<Author>) {
            didChangeObjectCalls.append(change)
    }

    func fetchedResultsController(controller: FetchedResultsController<Author>,
        didChangeSection change: FetchedResultsSectionChange<Author>) {
            didChangeSectionCalls.append(change)
    }

    func fetchedResultsControllerWillChangeContent(controller: FetchedResultsController<Author>) {
        ++willChangeContentCount
    }

    func fetchedResultsControllerDidChangeContent(controller: FetchedResultsController<Author>) {
        ++didChangeContentCount
    }

    func fetchedResultsControllerDidPerformFetch(controller: FetchedResultsController<Author>) {
        ++didPerformFetchCount
    }
}

    func testObjectInserts() {
        let moc = coreDataStack.mainQueueContext

        // Insert some Books
        let bookTitles = StubbedBookData.books
        for title in bookTitles {
            let book = Book(managedObjectContext: moc)
            book.title = title
        }
        try! moc.saveContextAndWait()

        XCTAssertEqual(delegate.didPerformFetchCount, 1)
        XCTAssertEqual(delegate.didChangeObjectCalls.count, 100)
    }
}
