             weakExpectation?.fulfill()
         })
     }
+
+    func addCompletionBlockToTestOperation(operation: Operation, withExpectationDescription text: String = __FUNCTION__) {
+        let expectation = expectationWithDescription("Test: \(text), \(NSUUID().UUIDString)")
+        operation.addObserver(BlockObserver { _, _ in
+            expectation.fulfill()
+        })
+    }
+
 }
 
 class BasicTests: OperationTests {

    func runOperations(operations: NSOperation...) {
        queue.delegate = delegate
        queue.addOperations(operations, waitUntilFinished: false)
    }

    func addCompletionBlockToTestOperation(operation: Operation, withExpectation expectation: XCTestExpectation) {

        queue = nil
        delegate = nil
        ExclusivityManager.sharedInstance.__tearDownForUnitTesting()
        super.tearDown()
    }

