             XCTAssertTrue(finishedTasks == 0)
             XCTAssertTrue(didStartWaiting)
             XCTAssertFalse(NSThread.isMainThread())
+            XCTAssertNil(GCDQueue.Background.isCurrent())
             expectation1.fulfill()
             
             finishedTasks++

            
            XCTAssertTrue(finishedTasks == 1)
            XCTAssertFalse(NSThread.isMainThread())
            expectation2.fulfill()
            
            finishedTasks++

        
            expectations.append(self.expectationWithDescription("semaphore block \(i)"))
        }
        
        let queue = GCDQueue.createConcurrent("testGCDSemaphore.queue")
        queue.apply(numberOfTasks) { (iteration: UInt) -> () in
            
            XCTAssertTrue(queue.isCurrent() ?? false)
            expectations[Int(iteration)].fulfill()
            semaphore.signal()
        }
