     waitForExpectations(timeout: 2)
   }
 
-  func testObserveChangesUsingViewContextNotifiedOnADifferentQueue() {
+  func testObserveChangesNotifiedOnADifferentQueueUsingViewContext() {
     let context = container.viewContext
     let expectation = self.expectation(description: "\(#function)\(#file)")
     let event = ObservedManagedObjectContextEvent.change

  func testObserveChangesUsingBackgroundContextAndManyChanges() {
    let expectation = self.expectation(description: "\(#function)\(#file)")
    let context = container.newBackgroundContext()
    //container.hack_registerContext(context)
    let event = ObservedManagedObjectContextEvent.change

    let observer = ManagedObjectContextChangesObserver(kind: .one(context: context), event: event) { (change, event, observedContext) in
      XCTAssertFalse(Thread.isMainThread)
      XCTAssertTrue(context === observedContext)

   (You need to establish your own notion of a work “cycle” for a background thread—for example, after every cluster of actions.)
   **/

  func testObserveChangesUsingViewContext() {
    let context = container.viewContext
    let expectation = self.expectation(description: "\(#function)\(#file)")
