     func testWait() {
         var id = 0
         let block = Async.background {
-            // Heavy work
-            self.work(.Light)
+            // Some work
+            NSThread.sleepForTimeInterval(0.1)
             XCTAssertEqual(++id, 1, "")
         }
         XCTAssertEqual(id, 0, "")


            let timePassed = NSDate().timeIntervalSinceDate(date2)
            XCTAssert(timePassed >= lowerTimeDelay2, "Should wait \(timePassed) >= \(lowerTimeDelay2) seconds before firing")
            XCTAssert(timePassed < upperTimeDelay2, "Shouldn't wait \(timePassed), but <\(upperTimeDelay2) seconds before firing")
            XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))")
            expectation.fulfill()
        }
        waitForExpectationsWithTimeout((timeDelay1 + timeDelay2) * 2, handler: nil)
    }

    func testAfterChainedUtility() {
        let expectation = expectationWithDescription("Expected after time")
        let date1 = NSDate()
        var date2 = NSDate()
        let timeDelay1 = 1.1
        let lowerTimeDelay1 = timeDelay1 - timeMargin
        let upperTimeDelay1 = timeDelay1 + timeMargin
        let timeDelay2 = 1.2
        let lowerTimeDelay2 = timeDelay2 - timeMargin
        let upperTimeDelay2 = timeDelay2 + timeMargin
        var id = 0
        Async.utility(after: timeDelay1) {
            XCTAssertEqual(++id, 1, "First after")


            let timePassed = NSDate().timeIntervalSinceDate(date2)
            XCTAssert(timePassed >= lowerTimeDelay2, "Should wait \(timePassed) >= \(lowerTimeDelay2) seconds before firing")
            XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description))")
            expectation.fulfill()
        }
