     // MARK: - Progress
     
     func test_progress() {
-        let expt0 = expectationWithDescription("\(__FUNCTION__)_0")
-        let expt1 = expectationWithDescription("\(__FUNCTION__)_1")
-        let expt2 = expectationWithDescription("\(__FUNCTION__)_2")
-        let map: [Float: XCTestExpectation] = [0.0: expt0, 0.5: expt1, 1.0: expt2]
-
+        let answers: [Float] = [0.0, 0.5, 1.0]
+        var map: [Float: XCTestExpectation] = [:]
+        for (index, answer) in enumerate(answers) {
+            let expt = expectationWithDescription("\(__FUNCTION__)_\(index)")
+            map[answer] = expt
+        }
+        
         let deferred = Deferred<Void>()
         
         deferred.promise.progress { (progress) -> Float in

        waitForExpectationsWithTimeout(7) { println($0) }
    }
    

    // MARK: - init(:vagueThenable)
    

        waitForExpectationsWithTimeout(7) { println($0) }
    }
    
    func test_all_progress() {
        let answers: [Float] = [
            (0 + 0 + 0) / 3,
            (0 + 0.3 + 0) / 3,
            (0.5 + 0.3 + 0) / 3,
            (0.5 + 0.5 + 0) / 3,
            (1.0 + 0.5 + 0) / 3,
            (1.0 + 1.0 + 0) / 3,
            (1.0 + 1.0 + 0.3) / 3,
            (1.0 + 1.0 + 0.5) / 3,
            (1.0 + 1.0 + 1.0) / 3,
        ]
        var map: [Float: XCTestExpectation] = [:]
        for (index, answer) in enumerate(answers) {
            let expt = expectationWithDescription("\(__FUNCTION__)_\(index)")
            map[answer] = expt
        }
        
        let (d0, promise0) = Promise<Void>.defer()
        let (d1, promise1) = Promise<Void>.defer()
        let (d2, promise2) = Promise<Void>.defer()
        let promise = Promise<Void>.all(promise0, promise1, promise2)
        promise.then(onFulfilled: nil, onRejected: nil) { (progress) -> Float in
            let expt = map[progress]
            expt!.fulfill()
            return progress;
        }
        
        d0.progress(0.0)
        d1.progress(0.3)
        d0.progress(0.5)
        d1.progress(0.5)
        d0.progress(1.0)
        d1.progress(1.0)
        d2.progress(0.3)
        d2.progress(0.5)
        d2.progress(1.0)
        
        waitForExpectationsWithTimeout(7, handler: nil)
    }
    
    // MARK: - race

    func test_race_fulfill_sync()
