         let deferred = Task<Int>.Promise()
         let task = deferred.map(upon: customQueue) { $0 * 2 }
 
-        XCTAssertEqual(task.progress.completedUnitCount, 0)
-        XCTAssertEqual(task.progress.totalUnitCount, 2)
         XCTAssertEqual(task.progress.fractionCompleted, 0)
 
         deferred.succeed(with: 9000)

        let promise = Task<Int>.Promise()
        let task = promise.andThen(upon: customExecutor) { self.delaySuccessAsFuture($0 * 2) }

        XCTAssertEqual(task.progress.completedUnitCount, 0)
        XCTAssertEqual(task.progress.totalUnitCount, 2)
        XCTAssertEqual(task.progress.fractionCompleted, 0)

        promise.succeed(with: 9000)

            .map(upon: .any(), transform: { "\($0)" })
            .map(upon: .any(), transform: { "\($0)\($0)" })

        XCTAssertEqual(task.progress.fractionCompleted, 0)

        let expectFractionCompletedToChange = XCTKVOExpectation(keyPath: #keyPath(Progress.fractionCompleted), object: task.progress)
        expectFractionCompletedToChange.expectedFulfillmentCount = 9

        promise1.succeed(with: 9000)

        wait(for: [
            expectFractionCompletedToChange,
            expectation(toFinish: task.progress)
        ], timeout: longTimeout)

        XCTAssertEqual(task.progress.fractionCompleted, 1)
    }
}
#endif
